@@ -480,25 +480,30 @@ def copy(self):
480
480
### Getters/Setters
481
481
482
482
def year_ (self , year ):
483
- return self .instance ( self . _datetime . replace ( year = year ) )
483
+ return self ._setter ( year = year )
484
484
485
485
def month_ (self , month ):
486
- return self .instance ( self . _datetime . replace ( month = month ) )
486
+ return self ._setter ( month = month )
487
487
488
488
def day_ (self , day ):
489
- return self .instance ( self . _datetime . replace ( day = day ) )
489
+ return self ._setter ( day = day )
490
490
491
491
def hour_ (self , hour ):
492
- return self .instance ( self . _datetime . replace ( hour = hour ) )
492
+ return self ._setter ( hour = hour )
493
493
494
494
def minute_ (self , minute ):
495
- return self .instance ( self . _datetime . replace ( minute = minute ) )
495
+ return self ._setter ( minute = minute )
496
496
497
497
def second_ (self , second ):
498
- return self .instance ( self . _datetime . replace ( second = second ) )
498
+ return self ._setter ( second = second )
499
499
500
500
def microsecond_ (self , microsecond ):
501
- return self .instance (self ._datetime .replace (microsecond = microsecond ))
501
+ return self ._setter (microsecond = microsecond )
502
+
503
+ def _setter (self , ** kwargs ):
504
+ kwargs ['tzinfo' ] = None
505
+
506
+ return self .instance (self ._datetime .replace (** kwargs ), self ._tz )
502
507
503
508
def timezone_ (self , tz ):
504
509
tz = self ._safe_create_datetime_zone (tz )
@@ -651,10 +656,11 @@ def with_date(self, year, month, day):
651
656
:rtype: Pendulum
652
657
"""
653
658
dt = self ._datetime .replace (
654
- year = int (year ), month = int (month ), day = int (day )
659
+ year = int (year ), month = int (month ), day = int (day ),
660
+ tzinfo = None
655
661
)
656
662
657
- return self .instance (dt )
663
+ return self .instance (dt , self . _tz )
658
664
659
665
def with_time (self , hour , minute , second , microsecond = 0 ):
660
666
"""
@@ -676,10 +682,11 @@ def with_time(self, hour, minute, second, microsecond=0):
676
682
"""
677
683
dt = self ._datetime .replace (
678
684
hour = int (hour ), minute = int (minute ), second = int (second ),
679
- microsecond = microsecond
685
+ microsecond = microsecond ,
686
+ tzinfo = None
680
687
)
681
688
682
- return self .instance (dt )
689
+ return self .instance (dt , self . _tz )
683
690
684
691
def with_date_time (self , year , month , day , hour , minute , second , microsecond = 0 ):
685
692
"""
@@ -697,10 +704,11 @@ def with_date_time(self, year, month, day, hour, minute, second, microsecond=0):
697
704
dt = self ._datetime .replace (
698
705
year = year , month = month , day = day ,
699
706
hour = int (hour ), minute = int (minute ), second = int (second ),
700
- microsecond = microsecond
707
+ microsecond = microsecond ,
708
+ tzinfo = None
701
709
)
702
710
703
- return self .instance (dt )
711
+ return self .instance (dt , self . _tz )
704
712
705
713
def with_time_from_string (self , time ):
706
714
"""
0 commit comments