Я считаю полезным поведение по умолчанию для выдачи ошибки. Если вы хотите разрешить переполнение, вы можете определить свою собственную функцию для этого, например. как это:
julia> MyDateTime(y, m, d, h, mi, s) =
+(DateTime(0), Year(y), Month(m-1), Day(d-1),
Hour(h), Minute(mi), Second(s))
MyDateTime (generic function with 1 method)
julia> MyDateTime(2020, 4, 22, 15, 43, 67) # ----> 2020-4-22T15:44:07
2020-04-22T15:44:07
julia> MyDateTime(2020, 12, 31, 23, 59, 60) # ----> 2021-1-1T00:00:00
2021-01-01T00:00:00
Обратите внимание, что порядок операций там имеет значение - мы сначала опережаем год, затем месяц и т. д. c. (например, эффект увеличения времени на одну секунду может зависеть от месяца, года и дня):
julia> MyDateTime(2020, 2, 28, 23, 59, 60)
2020-02-29T00:00:00
julia> MyDateTime(2021, 2, 28, 23, 59, 60)
2021-03-01T00:00:00
(это может быть особенно сложно, если у вас есть очень большие и недопустимые значения месяца, дня и т. д.). c.)