Время, как хранить это - PullRequest
       38

Время, как хранить это

2 голосов
/ 07 декабря 2010

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

Неправильно ли я использую временные метки и конвертирую их позже (для показа пользователю) в формат времени?База данных Mysql.

Ответы [ 3 ]

2 голосов
/ 07 декабря 2010

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

1 голос
/ 07 декабря 2010

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

Скажем, вы хотите преобразовать дату в метку времени, вы можете использовать strtotime или mktime , в зависимости от того, что вы делаете.

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

1 голос
/ 07 декабря 2010

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

...