MP
Лишь надо иметь ввиду, что не стоит большие интервалы времени мерить, как 3600 * 24 * 365
Size: a a a
MP
MP
MB
MP
MP
MB
MP
MP
MP
ST
In [1]: import datetime as dt
In [2]: import pytz
In [3]: c = dt.datetime.now(pytz.timezone('Europe/Paris'))
In [4]: (c + dt.timedelta(days=7+2-c.weekday())).replace(hour=17, minute=45)
Out[4]: datetime.datetime(2020, 1, 15, 17, 45, 45, 428519, tzinfo=<DstTzInfo 'Europe/Paris' CET+1:00:00 STD>)
(let [d (.with (LocalDate/now) (java.time.temporal.TemporalAdjusters/next java.time.DayOfWeek/WEDNESDAY))
ldt (.atTime d 17, 45)
zdt (.atZone ldt (java.time.ZoneId/of "Europe/Paris"))]
(.toLocalDateTime zdt))
=> #object[java.time.LocalDateTime 0x40a185dc "2020-01-08T17:45"]
IG
ST
(let [d (.with (LocalDate/now) (java.time.temporal.TemporalAdjusters/next java.time.DayOfWeek/WEDNESDAY))
ldt (.atTime d 17, 45)
zdt (.atZone ldt (java.time.ZoneId/of "Europe/Paris"))]
(.toLocalDateTime zdt))
=> #object[java.time.LocalDateTime 0x40a185dc "2020-01-08T17:45"]
IG
MB
(let [d (.with (LocalDate/now) (java.time.temporal.TemporalAdjusters/next java.time.DayOfWeek/WEDNESDAY))
ldt (.atTime d 17, 45)
zdt (.atZone ldt (java.time.ZoneId/of "Europe/Paris"))]
(.toLocalDateTime zdt))
=> #object[java.time.LocalDateTime 0x40a185dc "2020-01-08T17:45"]
next
это таки ближайший (завтра), а не следующая неделя. Вот это еще одно подтверждение, что требования типа next wednesday
не работает хотяб из-за проблемы интерпретации входных данныхMB
IG
IG
ST
next
это таки ближайший (завтра), а не следующая неделя. Вот это еще одно подтверждение, что требования типа next wednesday
не работает хотяб из-за проблемы интерпретации входных данных(let [now (.plusDays (LocalDate/now) 1)
d (.with now (java.time.temporal.TemporalAdjusters/next java.time.DayOfWeek/WEDNESDAY))
ldt (.atTime d 17, 45)
zdt (.atZone ldt (java.time.ZoneId/of "Europe/Paris"))]
(.toLocalDateTime zdt))
=> #object[java.time.LocalDateTime 0x25c609c "2020-01-15T17:45"]
ST
IG