Как сравнить текущее время с 26.09.2008 04:10 - PullRequest
0 голосов
/ 26 сентября 2018

как сравнивать время с текущим временем, но в формате AM pm также сравнивать в запросе выбора mysql.Я добавил изображение базы данных, где хранится время в этом формате, и я сравниваю с текущим временем, но я не добился успеха.

enter image description here

Ответы [ 3 ]

0 голосов
/ 26 сентября 2018

Пожалуйста, проверьте мой часовой пояс.Мы одинаковы?

SELECT UTC_TIMESTAMP() from dual;

Если то же самое, то вы сравниваете правильно.

0 голосов
/ 26 сентября 2018

Вам необходимо преобразовать expectedDeliveryDateTime в дату, чтобы вы могли сравнить ее с NOW().Для этого вам нужно использовать STR_TO_DATE в формате '%d/%m/%Y %h:%i %p', который соответствует данным на вашем изображении.Поэтому попробуйте:

SELECT *
FROM yourtable
WHERE STR_TO_DATE(expectedDeliveryDateTime, '%d/%m/%Y %h:%i %p') >= NOW()

Я предполагаю, что вы ищете даты в будущем, если вы хотите, чтобы даты в прошлом просто изменились с >= NOW() на <= NOW().

0 голосов
/ 26 сентября 2018

используйте now() и форматируйте дату, используя date_format, поскольку в качестве столбца используется varchar, поэтому вам нужно преобразовать дату, используя STR_TO_DATE function

  select * from t where
STR_TO_DATE(expectedDeliveryDateTime, '%d/%m/%Y %h:%i %p')  >=date_format(now(), '%d/%m/%Y %h:%i %p') 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...