Подтвердить что ты не робот

Конвертировать mysql timestamp в фактическую дату и время?

У меня есть даты, хранящиеся в таблице mysql, они сохраняются как CURRENT TIMESTAMP в каждой строке и сохраняются следующим образом:

2010-05-29 01:17:35

но то, что я пытаюсь сделать, - это как-то использовать PHP, чтобы иметь возможность отделить все и создать дату больше:

29 мая 2010 1:17 утра

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

4b9b3361

Ответ 2

У вас есть два решения:

  • Используйте strtotime(), чтобы проанализировать дату на метку времени и date(), чтобы переформатировать его в строку
  • Или используйте класс DateTime


В PHP-коде это означало бы использование:

echo date('M j Y g:i A', strtotime('2010-05-29 01:17:35'));

Или:

$dt = new DateTime('2010-05-29 01:17:35');
echo $dt->format('M j Y g:i A');


strtotime + date - это решение, которое вы увидите чаще всего; но это не лучшее решение: с ними вы будете работать с отметками времени UNIX, что означает ограниченный диапазон дат (с 1970 по 2038 год, если используется 32-битные целые числа).

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

Ответ 3

Если у вас есть поле DATETIME в вашей таблице, и вам нужно только поле даты, то:

SELECT DATE_FORMAT(timestamp,'%M %D, %Y') FROM Mytable;

или

SELECT DATE_FORMAT(timestamp,'%Y-%m-%d') FROM Mytable;

где timestamp - ваше имя столбца.