Вы можете легко преобразовать дату, используя strtotime
функцию php
:
date_default_timezone_set('UTC');
$date = '2011-10-02T23:25:42Z';//(aka ISO 8601 in UTC)
$time = strtotime($date); //time is now equals to the timestamp
$converted = date('l, F jS Y \a\t g:ia', $time); //convert to date if you prefer, credit to Marc B for the parameters
Теперь вы просто вставите свою дату в MySQL
, используя timestamp
или datetime
в зависимости от того, какойодин соответствует самым вашим потребностям.Вот самые важные вещи, которые вы должны знать об обоих типах.
Метка времени
- Диапазон '1970-01-01 00:00:01UTC - 2038-01-09 03:14:07 UTC
- Влияет на настройку часового пояса.
- 4 байта памяти
- разрешить
on update current_timestamp
для столбцов для всех версий. - Индекс намного быстрее
NULL
не является возможным значением по умолчанию - Значения преобразуются из текущего часового пояса в
UTC
для хранения и преобразуются обратно из UTC
в текущий часовой пояс для извлечения.
Datetime
- Диапазон от 1000-01-01 00:00:00 до 9999-12-31 23: 59: 59 '
- Константа (часовой пояс не повлияет)
- 8-байтовое хранилище
- разрешено обновление только для столбцов с версии
5.6.5
Что лучше всего подходит длясравнение (например, получение записей между двумя датами / временем) и упорядочение результатов по запросам?А что если база данных очень большая?
Согласно предыдущим пунктам, которые я указывал, вам следует использовать timestamp
для очень большой базы данных, так как объем хранилища меньше, а индекс быстрее, чтодать вам лучшую производительность для сравнения.Однако вы ДОЛЖНЫ УБЕДИТЬСЯ ваша дата будет соответствовать ограничениям timestamp
, о которых я упоминал ранее, иначе у вас нет выбора и вы должны использовать datetime
.
Документацию для strtotime
: http://php.net/manual/en/function.strtotime.php
И, пожалуйста, ради ответчика SO, который продолжает повторять каждый день, чтобы не использовать функции mysql*
УСТАРЕЛИ , используйте PDO
или mysqli*
, когдаВы сделаете ваши вставки.
http://php.net/manual/en/book.pdo.php
http://php.net/manual/en/book.mysqli.php