Это странно:
DateList@AbsoluteTime[596523]
возвращает
{2078, 7, 2, 2, 42, 9.7849}
Но
DateList@AbsoluteTime[596524]
возвращает
{1942, 5, 26, 20, 28, 39.5596}
Вопрос: чтопродолжается?Обратите внимание, что AbsoluteTime с числовым аргументом недокументирован.
(я думаю, что теперь я знаю, что он делает, но решил, что это полезно иметь в качестве вопроса StackOverflow для будущей ссылки; и мне любопытно, если есть какая-то причина дляэто волшебное число 596523.)
PS: Я сталкивался с этим при написании этих служебных функций для преобразования во время Unix и обратно в Mathematica:
(* Using Unix time (an integer) instead of Mathematica's AbsoluteTime... *)
tm[x___] := AbsoluteTime[x] (* tm is an alias for AbsoluteTime. *)
uepoch = tm[{1970}, TimeZone->0]; (* unixtm works analogously to tm. *)
unixtm[x___] := Round[tm[x]-uepoch] (* tm & unixtm convert between unix & *)
unixtm[x_?NumericQ] := Round[x-uepoch] (* mma epoch time when given numeric *)
tm[t_?NumericQ] := t+uepoch (* args. Ie, they're inverses. *)