У меня есть даты, хранящиеся в таблице mysql, они установлены для хранения как CURRENT TIMESTAMP в каждой строке и сохраняются следующим образом:
2010-05-29 01:17:35
но то, что я пытаюсь сделать, – это как-то использовать PHP, чтобы иметь возможность отделить все и создать дату больше:
29 мая 2010 1:17
может кто-нибудь хотя бы направить меня на правильный путь, который я должен предпринять. любая помощь очень ценится!
echo date('M j Y g:i A', strtotime('2010-05-29 01:17:35'));
У вас есть два решения:
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
, не будет ограничений для диапазона дат, с которыми вы можете работать.
Если у вас есть поле DATETIME
в вашей таблице, и вам нужно только поле даты, тогда:
SELECT DATE_FORMAT(timestamp,'%M %D, %Y') FROM Mytable;
или:
SELECT DATE_FORMAT(timestamp,'%Y-%m-%d') FROM Mytable;
где timestamp
– ваше имя столбца.