metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-10-13 03:04 pm

Тупой и еще тупее

Скажите мне пожалуйста, существует ли общепринятый метод передачи дат или даты-времени в параметрах URL для сервиса, например?
Сколько не пишу подобное - практически всегда все сводится к "прибиваем гвоздями ISO8601, парсим строку руками и под каждую задачу заново решаем, что делать с невалидными строками - то ли валится с 4хх, то ли валится с 5хх, то ли игнорировать ошибки, использовать или нет TryParse (если он вообще есть, обычно нету - "у нас всегда все работает, а невалидных дат не бывает") и как возвращать сообщения об ошибках клиенту так, чтобы он мог хоть что-то вменяемое сделать.

[identity profile] sergiej.livejournal.com 2013-10-13 03:19 pm (UTC)(link)
Можно тики. Но как тогда даты до большого взрыва хранить? И непонятно как время из параллельного пространства хранить.

[identity profile] sbj-ss.livejournal.com 2013-10-13 03:41 pm (UTC)(link)
Зря вы так категорично.
Точек отсчёта придумано стопицот, но на моей памяти ни одна не учитывает интересы историков. Когда несколько лет назад у нас на конторе зашла речь об обучающей системе именно по истории, то вообще предлагалась безумная идея собственного формата с распихиванием по битам (чтобы влезть в 4 байта на x86), который в SQL Server хранился просто в int - чтобы обеспечить поиск и сортировку. Это не от хорошей жизни, а от отсутствия альтернатив.
Впрочем, "даты до 1970" касаются не только историков. Даты рождения, например.

[identity profile] sergiej.livejournal.com 2013-10-13 04:35 pm (UTC)(link)
я просто шучу. Всё зависит от поставленной задачи.

[identity profile] lionet.livejournal.com 2013-10-13 10:29 pm (UTC)(link)
Что не так с юниксовым таймстампом для дней рождения? Отрицательные числа — не миф.

[identity profile] sbj-ss.livejournal.com 2013-10-14 08:39 am (UTC)(link)
Да, по стандарту - timestamp со знаком. Спасибо, что поправили.