@@ -2752,23 +2752,31 @@ def test_basics_nanos(self):
2752
2752
self .assert_ (stamp .nanosecond == 500 )
2753
2753
2754
2754
def test_unit (self ):
2755
- def check (val ,unit = None ,s = 1 ,us = 0 ):
2755
+ def check (val ,unit = None ,h = 1 , s = 1 ,us = 0 ):
2756
2756
stamp = Timestamp (val , unit = unit )
2757
2757
self .assert_ (stamp .year == 2000 )
2758
2758
self .assert_ (stamp .month == 1 )
2759
2759
self .assert_ (stamp .day == 1 )
2760
- self .assert_ (stamp .hour == 1 )
2761
- self .assert_ (stamp .minute == 1 )
2762
- self .assert_ (stamp .second == s )
2763
- self .assert_ (stamp .microsecond == us )
2760
+ self .assert_ (stamp .hour == h )
2761
+ if unit != 'D' :
2762
+ self .assert_ (stamp .minute == 1 )
2763
+ self .assert_ (stamp .second == s )
2764
+ self .assert_ (stamp .microsecond == us )
2765
+ else :
2766
+ self .assert_ (stamp .minute == 0 )
2767
+ self .assert_ (stamp .second == 0 )
2768
+ self .assert_ (stamp .microsecond == 0 )
2764
2769
self .assert_ (stamp .nanosecond == 0 )
2765
2770
2766
- val = Timestamp ('20000101 01:01:01' ).value
2771
+ ts = Timestamp ('20000101 01:01:01' )
2772
+ val = ts .value
2773
+ days = (ts - Timestamp ('1970-01-01' )).days
2767
2774
2768
2775
check (val )
2769
2776
check (val / 1000L ,unit = 'us' )
2770
2777
check (val / 1000000L ,unit = 'ms' )
2771
2778
check (val / 1000000000L ,unit = 's' )
2779
+ check (days ,unit = 'D' ,h = 0 )
2772
2780
2773
2781
# using truediv, so these are like floats
2774
2782
if py3compat .PY3 :
@@ -2792,6 +2800,7 @@ def check(val,unit=None,s=1,us=0):
2792
2800
check (val / 1000000.0 + 0.5 ,unit = 'ms' ,us = 500 )
2793
2801
check (val / 1000000.0 + 0.005 ,unit = 'ms' ,us = 5 )
2794
2802
check (val / 1000000000.0 + 0.5 ,unit = 's' ,us = 500000 )
2803
+ check (days + 0.5 ,unit = 'D' ,h = 12 )
2795
2804
2796
2805
# nan
2797
2806
result = Timestamp (np .nan )
0 commit comments