Итак, я прочитал этот очень интересный блог о работе с datetime in Azure DocumentDb. Проблема заключается в том, что в настоящее время Azure DocumentDb не поддерживает поиск диапазона в полях datetime. Причиной этого является то, что DocumentDb основан на json и не имеет типа datetime, поэтому обычно он помещается в строку формата datetime в формате xml.DateTime, Epoch и DocumentDb
(очевидно Монго не имеет эту проблему, это BSON формат добавляет типа DATETIME (среди прочих))
Во всяком случае, в статье описывается хранение DateTime в формате JSON в эпохе (Unix) время, по сути хранения datetime как количество секунд с 01-01-1970. Одна из проблем эпохи заключается в том, что она не учитывает секунды прыжка, но я могу жить с этим пока.
Мой вопрос в том, что я также хотел бы хранить даты рождения в таком формате. Теперь я могу просто взять 01-01-1900 в качестве даты начала и сохранить количество дней с этой даты в int. Хотя я уверен, что это будет хорошо работать, похоже, что эпоха - это хорошо зарекомендовавшая себя концепция, но в дни рождения мне кажется, что я строю свои собственные соглашения, чего я обычно избегаю.
Есть ли установленный стандарт для стандартизации хранения даты в виде числа? Какая дата должна быть базовой датой?
Я обогнал всех участников, потому что они были интересны, но этот вопрос наиболее точно ответил на мой вопрос. Спасибо. –
Я сохраняю дату как в этом формате «2017-01-13T08: 00: 00 + 05: 30», где отсутствует Z, поскольку я сохраняю смещение в формате +/-. Когда я пытаюсь запросить его обратно из DocumentDb, он преобразуется в часовой пояс, где работает код, что может быть причиной –
Моя рекомендация - хранить его без смещения или со смещением +00. Затем преобразуйте его в правильный часовой пояс при рендеринге. –