diff --git a/openpyxl/utils/datetime.py b/openpyxl/utils/datetime.py index 5d381e263076d0780cc6ee541a9f4e8b1f78a220..06b0c09bececdacd620fa8e11576ca259e02a771 100644 --- a/openpyxl/utils/datetime.py +++ b/openpyxl/utils/datetime.py @@ -89,7 +89,7 @@ def from_excel(value, epoch=WINDOWS_EPOCH): diff = datetime.timedelta(milliseconds=round(fraction * SECS_PER_DAY * 1000)) if 0 <= value < 1 and diff.days == 0: return days_to_time(diff) - if 1 < value < 60 and epoch == WINDOWS_EPOCH: + if 0 < value < 60 and epoch == WINDOWS_EPOCH: day += 1 return epoch + datetime.timedelta(days=day) + diff diff --git a/openpyxl/utils/tests/test_datetime.py b/openpyxl/utils/tests/test_datetime.py index e51bca66a6dcdcb1528ff45f6add5192fa4fa7cd..c4051f34aa9c345bd1a583fd9a0366b4212579d3 100644 --- a/openpyxl/utils/tests/test_datetime.py +++ b/openpyxl/utils/tests/test_datetime.py @@ -102,7 +102,8 @@ def test_to_excel_mac(value, expected): (0.125, time(3, 0)), (42126.958333333219, datetime(2015, 5, 2, 23, 0, 0, 0)), (42126.999999999884, datetime(2015, 5, 3, 0, 0, 0)), - (0.9999999995, datetime(1899, 12, 31, 0, 0)), + (0.9999999995, datetime(1900, 1, 1)), + (1, datetime(1900, 1, 1)), (-0.25, datetime(1899, 12, 29, 18, 0, 0)), (None, None), ])