Вопрос

Хорошо, я немного запутался. Я работаю над проектом, который должен хранить некоторые time() в базе данных. Мне кажется, что для лучшей гибкости я должен хранить его в качестве временной техники, чтобы я мог сделать работу между 2 разами и другими прохладными веществами. Но я видел (здесь больше, чем везде), что многие люди хранят время в базах данных в формате даты, впадают в некоторые общие вопросы, такие как: Как я могу преобразовать формат даты в Timestamp? Или как я могу вычтете дату другому, у которого есть разный формат даты? и т. д.

Я не прав, используя временные метки и преобразую это позже (чтобы отображаться пользователю) к формату времени? База данных mysql.

Это было полезно?

Решение

Я склонен хранить Timestamps в формате INT (10), поскольку Timestamp Unix всегда будет длиной 10 символов. Рекомендуется использовать int вместо varchar или char, как при использовании синтаксиса заказа SQL, он не получит неверный заказ.

Скажем, вы хотите преобразовать с даты временной метку, вы можете либо использовать СТРОТИТИМ или mktime., в зависимости от того, что вы делаете.

Работать разница между двумя временными метками просто вычесть их друг от друга.

Для выпуска часовых поясов вы можете установить это в страну пользователя, используя date_default_timezone_set.. Отказ Это будет учтено при использовании функций, таких как дата

Другие советы

MySQL поддерживает столбцы DateTime, Date и Timestamp и предложения Ряд удобных функций работать с ними через SQL. Я предлагаю прочитать через связанную ручную страницу, чтобы выбрать правильный для ваших нужд.

На всякий случай, если вы не знали, MySQL поддерживает несколько функций даты, DATSEUB, DateAndd и т. Д.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top