Безопасная для базы данных строка даты / времени? - PullRequest
3 голосов
/ 16 августа 2010

Какой формат строки даты / времени будет считаться кроссплатформенным, кросс-базой данных, универсальным сейфом?

Будет ли это YYYY-MMM-DD HH:MM:SS считаться безопасным для использования в MySQL, SQLite 2 & 3, MsSQL и других распространенных базах данных?

Как насчет чего-то вроде 2010-Jul-12 12:00:00pm?

Ответы [ 4 ]

2 голосов
/ 16 августа 2010

По возможности, вы должны передавать и хранить даты, используя реальный тип даты / времени. Строки часто вызывают проблемы при изменении культуры (и, вероятно, на разных платформах баз данных).

Если ваш язык или библиотека базы данных позволяют вам использовать строго типизированные параметры в запросах к базе данных, это будет самый безопасный способ сделать это. Если вы используете тип даты / времени для своих столбцов и передаете значения, используя тип даты / времени вашего языка, библиотека обеспечит правильную обработку ваших дат.

1 голос
/ 16 августа 2010

Вы можете выбрать определенный стандарт, такой как стандарт ISO для даты и времени . Он довольно универсален и прост в использовании и понимании, а в качестве определенного стандарта вы можете просто сказать «все даты и время должны быть ISO 8601» и покончить с этим. Не беспокойтесь о местном или культурном беспорядке.

0 голосов
/ 16 августа 2010

Вы должны использовать стандарт ISO - ГГГГ-ММ-ДДЧч: мм: сс [.ммм]

Или как альтернатива ГГГГММДД.

http://msdn.microsoft.com/en-us/library/ms187819.aspx

0 голосов
/ 16 августа 2010

У вас действительно нет «безопасного» DateTime. Все зависит от культур, Великобритания - ДД / ММ / ГГГГ ЧЧ: ММ: сс США - это ММ / ДД / ГГГГ ЧЧ: ММ: сс или что-то еще, не совсем уверенное, действительно ли это так или нет, но, тем не менее, оно отличается.

Я бы просто придерживался вашей «культуры» и был бы последовательным во всем вашем коде, чтобы разработчики в будущем могли легко читать ваш код, выясняя, какое у вас сумасшедшее соглашение для ваших данных и времени.

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...