@@ -626,50 +626,50 @@ Relative delta between two dates
626
626
627
627
We can extract the relative delta between two dates:
628
628
629
- >>> from_dtime = dtime.ansi_to_dt(" 20230515104405" )
630
- >>> to_dtime = dtime.ansi_to_dt(" 20230515114405" )
631
- >>> dtime.get_relative_delta(from_dtime, to_dtime )
629
+ >>> dt1 = dtime.ansi_to_dt(" 20230515104405" )
630
+ >>> dt2 = dtime.ansi_to_dt(" 20230515114405" )
631
+ >>> dtime.get_relative_delta(dt1, dt2 )
632
632
relativedelta(hours=+1)
633
633
634
634
We can even compare two dates from two different timezones:
635
635
636
- >>> from_dtime_cet = dtime.to_zone(from_dtime , " CET" )
637
- >>> to_dtime_utc = dtime.to_zone(to_dtime , " UTC" )
638
- >>> dtime.get_relative_delta(from_dtime_cet, to_dtime_utc )
636
+ >>> dt1_cet = dtime.to_zone(dt1 , " CET" )
637
+ >>> dt2_utc = dtime.to_zone(dt2 , " UTC" )
638
+ >>> dtime.get_relative_delta(dt1_cet, dt2_utc )
639
639
relativedelta(hours=+3)
640
640
641
- >>> from_dtime_cet = dtime.to_zone(from_dtime , " CET" )
642
- >>> to_dtime_pcf = dtime.to_zone(to_dtime , " Pacific/Fiji" )
643
- >>> dtime.get_relative_delta(from_dtime_cet, to_dtime_pcf )
641
+ >>> dt1_cet = dtime.to_zone(dt1 , " CET" )
642
+ >>> dt2_pcf = dtime.to_zone(dt2 , " Pacific/Fiji" )
643
+ >>> dtime.get_relative_delta(dt1_cet, dt2_pcf )
644
644
relativedelta(hours=-9)
645
645
646
646
If we compare a naive timezone, system uses the timezone of the other date:
647
647
648
- >>> from_dtime_cet = dtime.to_zone(from_dtime , " CET" )
649
- >>> to_dtime_naive = to_dtime .replace(tzinfo = None )
650
- >>> dtime.get_relative_delta(from_dtime_cet, to_dtime_naive )
648
+ >>> dt1_cet = dtime.to_zone(dt1 , " CET" )
649
+ >>> dt2_naive = dt2 .replace(tzinfo = None )
650
+ >>> dtime.get_relative_delta(dt1_cet, dt2_naive )
651
651
relativedelta(hours=+3)
652
652
653
653
It also works when both are timezone naive:
654
654
655
- >>> from_dtime_naive = from_dtime .replace(tzinfo = None )
656
- >>> to_dtime_naive = to_dtime .replace(tzinfo = None )
657
- >>> dtime.get_relative_delta(from_dtime_naive, to_dtime_naive )
655
+ >>> dt1_naive = dt1 .replace(tzinfo = None )
656
+ >>> dt2_naive = dt2 .replace(tzinfo = None )
657
+ >>> dtime.get_relative_delta(dt1_naive, dt2_naive )
658
658
relativedelta(hours=+1)
659
659
660
- If we don't specify `to_dtime `, system simply uses current datetime:
660
+ If we don't specify `dt2 `, system simply uses current datetime:
661
661
662
- >>> rel_now = dtime.get_relative_delta(from_dtime , datetime.now())
663
- >>> rel_wo = dtime.get_relative_delta(from_dtime )
662
+ >>> rel_now = dtime.get_relative_delta(dt1 , datetime.now())
663
+ >>> rel_wo = dtime.get_relative_delta(dt1 )
664
664
>>> rel_now = (rel_now.years, rel_now.months, rel_now.days, rel_now.hours)
665
665
>>> rel_wo = (rel_wo.years, rel_wo.months, rel_wo.days, rel_wo.hours)
666
666
>>> rel_now == rel_wo
667
667
True
668
668
669
669
We can even compare min and max dates:
670
670
671
- >>> from_dtime = dtime.datetime.min
672
- >>> to_dtime = dtime.datetime.max
671
+ >>> dt1 = dtime.datetime.min
672
+ >>> dt2 = dtime.datetime.max
673
673
>>> dtime.get_relative_delta(dtime.datetime.min, dtime.datetime.max)
674
674
relativedelta(years=+9998, months=+11, days=+30, hours=+23, minutes=+59, seconds=+59, microseconds=+999999)
675
675
@@ -698,3 +698,10 @@ Or compare two dates that are exactly the same:
698
698
699
699
>>> dtime.get_relative_delta(" 20230515114400" , " 20230515114400" )
700
700
relativedelta()
701
+
702
+ We can compare dates without time as well:
703
+
704
+ >>> from_date = dtime.date(2023 , 5 , 6 )
705
+ >>> to_date = dtime.date(2023 , 5 , 7 )
706
+ >>> dtime.get_relative_delta(from_date, to_date)
707
+ relativedelta(days=+1)
0 commit comments