@@ -563,14 +563,14 @@ def test_precisedelta_one_unit_enough(
563563            "minutes" , 
564564            "0 minutes" , 
565565        ), 
566-         (dt .timedelta (days = 31 ), "seconds" , "1 month and 12 hours " ), 
567-         (dt .timedelta (days = 32 ), "seconds" , "1 month, 1 day  and 12 hours " ), 
566+         (dt .timedelta (days = 31 ), "seconds" , "1 month" ), 
567+         (dt .timedelta (days = 32 ), "seconds" , "1 month  and 1 day " ), 
568568        (dt .timedelta (days = 62 ), "seconds" , "2 months and 1 day" ), 
569-         (dt .timedelta (days = 92 ), "seconds" , "3 months and 12 hours " ), 
570-         (dt .timedelta (days = 31 ), "days" , "1 month and 0.50 days " ), 
571-         (dt .timedelta (days = 32 ), "days" , "1 month and 1.50 days " ), 
569+         (dt .timedelta (days = 92 ), "seconds" , "3 months" ), 
570+         (dt .timedelta (days = 31 ), "days" , "1 month" ), 
571+         (dt .timedelta (days = 32 ), "days" , "1 month and 1 day " ), 
572572        (dt .timedelta (days = 62 ), "days" , "2 months and 1 day" ), 
573-         (dt .timedelta (days = 92 ), "days" , "3 months and 0.50 days " ), 
573+         (dt .timedelta (days = 92 ), "days" , "3 months" ), 
574574    ], 
575575) 
576576def  test_precisedelta_multiple_units (
@@ -620,19 +620,11 @@ def test_precisedelta_multiple_units(
620620            "5 days and 4.50 hours" , 
621621        ), 
622622        (dt .timedelta (days = 5 , hours = 4 , seconds = 30  *  60 ), "days" , "%0.2f" , "5.19 days" ), 
623-         # 1 month is 30.5 days. Remaining 0.5 days  is rounded down for both formats   
623+         # 1 month is 30.5 days but remainder  is always  rounded down.   
624624        (dt .timedelta (days = 31 ), "days" , "%d" , "1 month" ), 
625625        (dt .timedelta (days = 31 ), "days" , "%.0f" , "1 month" ), 
626-         # But adding a tiny amount will reveal a difference between %d and %.0f  
627-         # %d will truncate while %.0f will round to the nearest number.  
628-         (dt .timedelta (days = 31.01 ), "days" , "%d" , "1 month" ), 
629-         (dt .timedelta (days = 31.01 ), "days" , "%.0f" , "1 month and 1 day" ), 
630-         (dt .timedelta (days = 31.99 ), "days" , "%d" , "1 month and 1 day" ), 
631-         # 1 month is 30.5 days. Remaining 1.5 days is truncated for %d.  
632-         # For format %.0f, there is a tie, so it's rounded to the nearest even number,  
633-         # which is 2. See https://en.wikipedia.org/wiki/IEEE_754#Rounding_rules  
634626        (dt .timedelta (days = 32 ), "days" , "%d" , "1 month and 1 day" ), 
635-         (dt .timedelta (days = 32 ), "days" , "%.0f" , "1 month and 2 days " ), 
627+         (dt .timedelta (days = 32 ), "days" , "%.0f" , "1 month and 1 day " ), 
636628        (dt .timedelta (days = 62 ), "days" , "%d" , "2 months and 1 day" ), 
637629        (dt .timedelta (days = 92 ), "days" , "%d" , "3 months" ), 
638630        (dt .timedelta (days = 120 ), "months" , "%0.2f" , "3.93 months" ), 
0 commit comments