Я на самом деле в процессе преобразования базы данных MongoDB, в которой даты хранятся как надлежащие типы Date (), чтобы вместо этого хранить их в виде строк в форме yyyy-mm-dd
.Почему, учитывая, что каждый другой ответчик говорит, что это ужасная идея?Проще говоря, из-за бесконечной боли я мучаюсь, пытаясь работать с датами в JavaScript, который не имеет (реальной) концепции часовых поясов.Я хранил даты UTC в MongoDB, то есть объект Date () с моей желаемой датой и временем, установленным как полночь UTC, но это неожиданно сложно и подвержено ошибкам, чтобы правильно преобразовать отправленную пользователем дату в ту, из какого часового пояса ониЯ пытался заставить мой JavaScript-код «независимо от часового пояса до UTC» работать (и да, я знаю о Sugar.js и Moment.js), и я решил, что простые строки, такие какстарый добрый стандарт MySQL yyyy-mm-dd
- это путь, и я буду анализировать объекты Date () по мере необходимости во время выполнения на стороне клиента.
Кстати, я также пытаюсь синхронизировать этот MongoDBбаза данных с базой данных FileMaker, которая также не имеет понятия часовых поясов.Для меня простота простого , а не хранения данных о времени, особенно когда это бессмысленно, например, в полночь UTC, помогает обеспечить менее ошибочный код, даже если мне приходится время от времени анализировать строковые даты и обратно.