Как я могу хранить ISO даты в MySQL - PullRequest
0 голосов
/ 12 апреля 2019

Я запрашиваю API, и у меня есть такая дата: «2019-04-17T14: 04: 24.224-04: 00». Я полагаю, что это iso дата. Как я могу хранить год, месяц и день в базе данных mysql? Я хочу следующий формат "дд / мм / гггг".

Ответы [ 3 ]

0 голосов
/ 12 апреля 2019

Попробуй это!

update TABLENAME 
set date_columnname = LEFT(date_present_columnname,10)
0 голосов
/ 12 апреля 2019

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

MySQL's DATE тип столбца выражается в формат ISO-8601 , как у вас, поэтому вы должны иметь возможность вставить этот минус все после "T".

Так что либо удалите это перед вставкой, и все должно быть в порядке.

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

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

Обычно вам следует:

  • Сохранение дат в виде значений в формате ISO-8601 в собственных полях MySQL DATE или DATETIME и преобразование в / из локализованных форматов в соответствии с пользовательскими настройками.
  • Сохранение любых значений времени в формате UTCи конвертировать в / из местного времени в соответствии с предпочтениями пользователя.
0 голосов
/ 12 апреля 2019
date("d-m-Y", strtotime("2019-04-17T14:04:24.224-04:00"));

Просто сделай это,

...