2010-12-07 2 views
2

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

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

+0

какая база данных? – Gordon 2010-12-07 14:24:55

+0

и что такое БД? :-) Гордон был быстрее! – acm 2010-12-07 14:25:13

+0

http://snippets.dzone.com/posts/show/1455 – 2010-12-07 14:25:45

ответ

1

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

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

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

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

1

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

Смежные вопросы