@@ -201,17 +201,17 @@ class TestTimestampConstructors:
201
201
def test_constructor (self ):
202
202
base_str = "2014-07-01 09:00"
203
203
base_dt = datetime (2014 , 7 , 1 , 9 )
204
- base_expected = 1404205200000000000
204
+ base_expected = 1_404_205_200_000_000_000
205
205
206
206
# confirm base representation is correct
207
- assert calendar .timegm (base_dt .timetuple ()) * 1000000000 == base_expected
207
+ assert calendar .timegm (base_dt .timetuple ()) * 1_000_000_000 == base_expected
208
208
209
209
tests = [
210
210
(base_str , base_dt , base_expected ),
211
211
(
212
212
"2014-07-01 10:00" ,
213
213
datetime (2014 , 7 , 1 , 10 ),
214
- base_expected + 3600 * 1000000000 ,
214
+ base_expected + 3600 * 1_000_000_000 ,
215
215
),
216
216
(
217
217
"2014-07-01 09:00:00.000008000" ,
@@ -250,7 +250,7 @@ def test_constructor(self):
250
250
# with timezone
251
251
for tz , offset in timezones :
252
252
for result in [Timestamp (date_str , tz = tz ), Timestamp (date , tz = tz )]:
253
- expected_tz = expected - offset * 3600 * 1000000000
253
+ expected_tz = expected - offset * 3600 * 1_000_000_000
254
254
assert result .value == expected_tz
255
255
assert conversion .pydt_to_i8 (result ) == expected_tz
256
256
@@ -264,22 +264,22 @@ def test_constructor(self):
264
264
result = Timestamp (result ).tz_convert ("UTC" )
265
265
else :
266
266
result = Timestamp (result , tz = "UTC" )
267
- expected_utc = expected - offset * 3600 * 1000000000
267
+ expected_utc = expected - offset * 3600 * 1_000_000_000
268
268
assert result .value == expected_utc
269
269
assert conversion .pydt_to_i8 (result ) == expected_utc
270
270
271
271
def test_constructor_with_stringoffset (self ):
272
272
# GH 7833
273
273
base_str = "2014-07-01 11:00:00+02:00"
274
274
base_dt = datetime (2014 , 7 , 1 , 9 )
275
- base_expected = 1404205200000000000
275
+ base_expected = 1_404_205_200_000_000_000
276
276
277
277
# confirm base representation is correct
278
- assert calendar .timegm (base_dt .timetuple ()) * 1000000000 == base_expected
278
+ assert calendar .timegm (base_dt .timetuple ()) * 1_000_000_000 == base_expected
279
279
280
280
tests = [
281
281
(base_str , base_expected ),
282
- ("2014-07-01 12:00:00+02:00" , base_expected + 3600 * 1000000000 ),
282
+ ("2014-07-01 12:00:00+02:00" , base_expected + 3600 * 1_000_000_000 ),
283
283
("2014-07-01 11:00:00.000008000+02:00" , base_expected + 8000 ),
284
284
("2014-07-01 11:00:00.000000005+02:00" , base_expected + 5 ),
285
285
]
@@ -725,7 +725,7 @@ def test_utc_z_designator(self):
725
725
assert get_timezone (Timestamp ("2014-11-02 01:00Z" ).tzinfo ) is utc
726
726
727
727
def test_asm8 (self ):
728
- np .random .seed (7960929 )
728
+ np .random .seed (7_960_929 )
729
729
ns = [Timestamp .min .value , Timestamp .max .value , 1000 ]
730
730
731
731
for n in ns :
@@ -786,15 +786,15 @@ def compare(x, y):
786
786
)
787
787
788
788
def test_basics_nanos (self ):
789
- val = np .int64 (946684800000000000 ).view ("M8[ns]" )
789
+ val = np .int64 (946_684_800_000_000_000 ).view ("M8[ns]" )
790
790
stamp = Timestamp (val .view ("i8" ) + 500 )
791
791
assert stamp .year == 2000
792
792
assert stamp .month == 1
793
793
assert stamp .microsecond == 0
794
794
assert stamp .nanosecond == 500
795
795
796
796
# GH 14415
797
- val = np .iinfo (np .int64 ).min + 80000000000000
797
+ val = np .iinfo (np .int64 ).min + 80_000_000_000_000
798
798
stamp = Timestamp (val )
799
799
assert stamp .year == 1677
800
800
assert stamp .month == 9
@@ -805,24 +805,36 @@ def test_basics_nanos(self):
805
805
@pytest .mark .parametrize (
806
806
"value, check_kwargs" ,
807
807
[
808
- [946688461000000000 , {}],
809
- [946688461000000000 / 1000 , dict (unit = "us" )],
810
- [946688461000000000 / 1000000 , dict (unit = "ms" )],
811
- [946688461000000000 / 1000000000 , dict (unit = "s" )],
808
+ [946_688_461_000_000_000 , {}],
809
+ [946_688_461_000_000_000 / 1000 , dict (unit = "us" )],
810
+ [946_688_461_000_000_000 / 1_000_000 , dict (unit = "ms" )],
811
+ [946_688_461_000_000_000 / 1_000_000_000 , dict (unit = "s" )],
812
812
[10957 , dict (unit = "D" , h = 0 )],
813
813
[
814
- (946688461000000000 + 500000 ) / 1000000000 ,
814
+ (946_688_461_000_000_000 + 500000 ) / 1_000_000_000 ,
815
815
dict (unit = "s" , us = 499 , ns = 964 ),
816
816
],
817
- [(946688461000000000 + 500000000 ) / 1000000000 , dict (unit = "s" , us = 500000 )],
818
- [(946688461000000000 + 500000 ) / 1000000 , dict (unit = "ms" , us = 500 )],
819
- [(946688461000000000 + 500000 ) / 1000 , dict (unit = "us" , us = 500 )],
820
- [(946688461000000000 + 500000000 ) / 1000000 , dict (unit = "ms" , us = 500000 )],
821
- [946688461000000000 / 1000.0 + 5 , dict (unit = "us" , us = 5 )],
822
- [946688461000000000 / 1000.0 + 5000 , dict (unit = "us" , us = 5000 )],
823
- [946688461000000000 / 1000000.0 + 0.5 , dict (unit = "ms" , us = 500 )],
824
- [946688461000000000 / 1000000.0 + 0.005 , dict (unit = "ms" , us = 5 , ns = 5 )],
825
- [946688461000000000 / 1000000000.0 + 0.5 , dict (unit = "s" , us = 500000 )],
817
+ [
818
+ (946_688_461_000_000_000 + 500_000_000 ) / 1_000_000_000 ,
819
+ dict (unit = "s" , us = 500000 ),
820
+ ],
821
+ [(946_688_461_000_000_000 + 500000 ) / 1_000_000 , dict (unit = "ms" , us = 500 )],
822
+ [(946_688_461_000_000_000 + 500000 ) / 1000 , dict (unit = "us" , us = 500 )],
823
+ [
824
+ (946_688_461_000_000_000 + 500_000_000 ) / 1_000_000 ,
825
+ dict (unit = "ms" , us = 500000 ),
826
+ ],
827
+ [946_688_461_000_000_000 / 1000.0 + 5 , dict (unit = "us" , us = 5 )],
828
+ [946_688_461_000_000_000 / 1000.0 + 5000 , dict (unit = "us" , us = 5000 )],
829
+ [946_688_461_000_000_000 / 1_000_000.0 + 0.5 , dict (unit = "ms" , us = 500 )],
830
+ [
831
+ 946_688_461_000_000_000 / 1_000_000.0 + 0.005 ,
832
+ dict (unit = "ms" , us = 5 , ns = 5 ),
833
+ ],
834
+ [
835
+ 946_688_461_000_000_000 / 1_000_000_000.0 + 0.5 ,
836
+ dict (unit = "s" , us = 500000 ),
837
+ ],
826
838
[10957 + 0.5 , dict (unit = "D" , h = 12 )],
827
839
],
828
840
)
@@ -852,24 +864,24 @@ def test_roundtrip(self):
852
864
base = Timestamp ("20140101 00:00:00" )
853
865
854
866
result = Timestamp (base .value + Timedelta ("5ms" ).value )
855
- assert result == Timestamp (str ( base ) + " .005000" )
867
+ assert result == Timestamp (f" { base } .005000" )
856
868
assert result .microsecond == 5000
857
869
858
870
result = Timestamp (base .value + Timedelta ("5us" ).value )
859
- assert result == Timestamp (str ( base ) + " .000005" )
871
+ assert result == Timestamp (f" { base } .000005" )
860
872
assert result .microsecond == 5
861
873
862
874
result = Timestamp (base .value + Timedelta ("5ns" ).value )
863
- assert result == Timestamp (str ( base ) + " .000000005" )
875
+ assert result == Timestamp (f" { base } .000000005" )
864
876
assert result .nanosecond == 5
865
877
assert result .microsecond == 0
866
878
867
879
result = Timestamp (base .value + Timedelta ("6ms 5us" ).value )
868
- assert result == Timestamp (str ( base ) + " .006005" )
880
+ assert result == Timestamp (f" { base } .006005" )
869
881
assert result .microsecond == 5 + 6 * 1000
870
882
871
883
result = Timestamp (base .value + Timedelta ("200ms 5us" ).value )
872
- assert result == Timestamp (str ( base ) + " .200005" )
884
+ assert result == Timestamp (f" { base } .200005" )
873
885
assert result .microsecond == 5 + 200 * 1000
874
886
875
887
def test_hash_equivalent (self ):
@@ -890,20 +902,20 @@ def test_nanosecond_string_parsing(self):
890
902
ts = Timestamp ("2013-05-01 07:15:45.123456789" )
891
903
# GH 7878
892
904
expected_repr = "2013-05-01 07:15:45.123456789"
893
- expected_value = 1367392545123456789
905
+ expected_value = 1_367_392_545_123_456_789
894
906
assert ts .value == expected_value
895
907
assert expected_repr in repr (ts )
896
908
897
909
ts = Timestamp ("2013-05-01 07:15:45.123456789+09:00" , tz = "Asia/Tokyo" )
898
- assert ts .value == expected_value - 9 * 3600 * 1000000000
910
+ assert ts .value == expected_value - 9 * 3600 * 1_000_000_000
899
911
assert expected_repr in repr (ts )
900
912
901
913
ts = Timestamp ("2013-05-01 07:15:45.123456789" , tz = "UTC" )
902
914
assert ts .value == expected_value
903
915
assert expected_repr in repr (ts )
904
916
905
917
ts = Timestamp ("2013-05-01 07:15:45.123456789" , tz = "US/Eastern" )
906
- assert ts .value == expected_value + 4 * 3600 * 1000000000
918
+ assert ts .value == expected_value + 4 * 3600 * 1_000_000_000
907
919
assert expected_repr in repr (ts )
908
920
909
921
# GH 10041
@@ -913,7 +925,7 @@ def test_nanosecond_string_parsing(self):
913
925
914
926
def test_nanosecond_timestamp (self ):
915
927
# GH 7610
916
- expected = 1293840000000000005
928
+ expected = 1_293_840_000_000_000_005
917
929
t = Timestamp ("2011-01-01" ) + offsets .Nano (5 )
918
930
assert repr (t ) == "Timestamp('2011-01-01 00:00:00.000000005')"
919
931
assert t .value == expected
@@ -929,7 +941,7 @@ def test_nanosecond_timestamp(self):
929
941
assert t .value == expected
930
942
assert t .nanosecond == 5
931
943
932
- expected = 1293840000000000010
944
+ expected = 1_293_840_000_000_000_010
933
945
t = t + offsets .Nano (5 )
934
946
assert repr (t ) == "Timestamp('2011-01-01 00:00:00.000000010')"
935
947
assert t .value == expected
@@ -949,23 +961,23 @@ def test_nanosecond_timestamp(self):
949
961
class TestTimestampToJulianDate :
950
962
def test_compare_1700 (self ):
951
963
r = Timestamp ("1700-06-23" ).to_julian_date ()
952
- assert r == 2342145 .5
964
+ assert r == 2_342_145 .5
953
965
954
966
def test_compare_2000 (self ):
955
967
r = Timestamp ("2000-04-12" ).to_julian_date ()
956
- assert r == 2451646 .5
968
+ assert r == 2_451_646 .5
957
969
958
970
def test_compare_2100 (self ):
959
971
r = Timestamp ("2100-08-12" ).to_julian_date ()
960
- assert r == 2488292 .5
972
+ assert r == 2_488_292 .5
961
973
962
974
def test_compare_hour01 (self ):
963
975
r = Timestamp ("2000-08-12T01:00:00" ).to_julian_date ()
964
- assert r == 2451768 .5416666666666666
976
+ assert r == 2_451_768 .5416666666666666
965
977
966
978
def test_compare_hour13 (self ):
967
979
r = Timestamp ("2000-08-12T13:00:00" ).to_julian_date ()
968
- assert r == 2451769 .0416666666666666
980
+ assert r == 2_451_769 .0416666666666666
969
981
970
982
971
983
class TestTimestampConversion :
0 commit comments