Как вставить AM и PM в базу данных Mysql? - PullRequest
0 голосов
/ 16 мая 2018

Это мое значение, я собираюсь вставить в мою базу данных

[phoneinterview] => 2018-05-16 10:28 PM

В моей базе данных у меня есть поле вроде этого

phoneinterview  timestamp

Но его вставка выглядит так:

2018-05-16 10:28:00     

На самом деле я хочу вставить так:

2018-05-16 10:28 PM

Ответы [ 4 ]

0 голосов
/ 16 мая 2018

Поскольку вы используете datetime тип данных, он хранит 2018-05-16 10:28:00.Но если вы хотите сохранить AM/PM, вам нужно использовать varchar тип данных.

Я предлагаю вам использовать ->format();, пока вы получаете данные метки времени.Это преобразует формат даты и времени в соответствии с вашими пожеланиями.

На данный момент, так как вы хотите отображать AM/PM через время, используйте его как: ->format('g:i A'); Это покажет время как 10:28 PM.

Надеюсь, это поможет вам !!

0 голосов
/ 16 мая 2018

Если вы используете поле datetime в своей базе данных, вы не сможете, но если вы измените поле на varchar, вы сможете сохранить его так, как вам нравится.Я бы порекомендовал против этого.Почему вы хотите сэкономить отформатированное время?Лучше всего сохранить дату в поле datetime, а затем, когда вы хотите показать ее форматирование, как вы хотите.В Laravel вы можете сделать это, используя мутатор, подобный следующему:

public function getPhoneinterviewAttribute() {
    return \Carbon\Carbon::now(
        $this->attributes['phoneinterview']
    )->format('g:i A');
}

Плюс: когда вы расширяетесь в области, где люди не используют AM / PM, вы можете легко отформатировать их в соответствии с их языком.

0 голосов
/ 16 мая 2018

MySQL использует формат 'Y-m-d H:i:s' для хранения дат, поэтому, если вы используете что-то другое, вам необходимо сначала преобразовать его в этот формат.Это можно сделать с помощью DateTime :: createFromFormat () :

$date = DateTime::createFromFormat('Y-m-d g:i a', '2018-05-16 10:28 PM');

Это создаст объект DateTime, который вы можете легко отформатировать для MySQL:

$date->format('Y-m-d H:i:s');
0 голосов
/ 16 мая 2018

Хорошо. Когда вы выбираете типы данных timestamp или datetime для сохранения даты, они не сохраняют значения AM и PM в полях таблицы базы данных. Лучшее решение для этого - вы извлекаете дату и конвертируете ее в дату и время вместе с AM / PM вручную.

Одно альтернативное решение использует тип данных varchar вместо метки времени, но это не рекомендуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...