Size: a a a

2021 May 08

DH

Dark Hole in dlang.ru
>лучше чем эксепшн
Эксепшн можно перехватить
источник

Е

Евгений in dlang.ru
нет
источник

DH

Dark Hole in dlang.ru
Так при чём тут юникс тайм?
источник

Е

Евгений in dlang.ru
могут быть отрицательные значения - до 1970
источник

Е

Евгений in dlang.ru
и в условиях задачи нет никакого юникс-тайма
источник

Тᅠ

Туночка ᅠᅠ... in dlang.ru
а как оно распаресеное время хранит*?
источник

Е

Евгений in dlang.ru
кто оно?
источник

DH

Dark Hole in dlang.ru
Да как угодно
источник

Е

Евгений in dlang.ru
SysTime?
источник

Тᅠ

Туночка ᅠᅠ... in dlang.ru
DateTime
источник

Тᅠ

Туночка ᅠᅠ... in dlang.ru
если что мира до unix time'а не существовало
источник

Q

QuotLy in dlang.ru
источник

Е

Евгений in dlang.ru
https://dlang.org/phobos/std_datetime_date.html#.Date
Date uses the Proleptic Gregorian Calendar, so it assumes the Gregorian leap year calculations for its entire length. As per ISO 8601, it treats 1 B.C. as year 0, i.e. 1 B.C. is 0, 2 B.C. is -1, etc. Use yearBC to use B.C. as a positive integer with 1 B.C. being the year prior to 1 A.D.
источник

Е

Евгений in dlang.ru
Внутри long - 64 бита с поддержкой отрицательных значений. Можно хоть расписание динозавров программировать.
источник

Е

Евгений in dlang.ru
Содержит, ЕМНИП, наносекунды от рождества христова
источник

Е

Евгений in dlang.ru
Можно эту лишнюю секунду реально добавлять:
DateTime fromISOExtString(string str) {
   if(str.endsWith("60")) {
       return DateTime.fromISOExtString(str.chomp("60") ~ "59") + 1.seconds;
   } else {
       return DateTime.fromISOExtString(str);
   }
}
источник

Е

Евгений in dlang.ru
Превращает
2016-12-31T23:59:60 => 2017-01-01T00:00:00
источник

KF

Konstantin Firsov in dlang.ru
Как вариант. Но обычно после секунд может идти инфа о часовых поясах и строка может заканчиваться много чем и будет проблемно заменить DateTime на SysTime, для последнего fromISOExtString добавляется дробные доли секунды и часовая зона, вроде бы. Поэтому для SysTime и DateTime одновременно наверное можно пробовать и через canFind на полное время 23:59:60, вроде дополнительных минут нет... или искать 59:60 только, кгм.
источник

Е

Евгений in dlang.ru
Судя по природе это 60-й секунды, ее не нужно добавлять на самом деле
источник

Е

Евгений in dlang.ru
точнее и 59 и добавление секунды - оба варианта будут с ошибкой в 1 секунду.
источник