将mysql时间戳(YYYY-MM-DD HH:MM:SS)转换为我自己选择的格式(如“2010年8月5日”)的正确方法是什么?如何使mysql时间戳与php date()兼容?
答案 0 :(得分:4)
有两种方式......
首先,您可以使用strtotime()
...
$time = strtotime('2010-05-05 05:05:05');
echo date('F j, Y', $time);
或者,您可以使用UNIX_TIMESTAMP()
将其转换为MySQL中的unix时间:
SELECT UNIX_TIMESTAMP(`your timestamp column`) FROM blahblah....
然后你需要在获取后用php中的date()
格式化它。
或者,您可以使用DATE_FORMAT()
:
SELECT DATE_FORMAT(`your timestamp column`, '%M %e, %Y') FROM ...
答案 1 :(得分:1)
你可以让MySQL将它作为epoch时间戳返回,php的日期函数可以处理或使用以下函数:
$epoch = strtotime('YYYY-MM-DD HH:MM:SS');
答案 2 :(得分:1)
第三个选项:使用MySQL的DATE_FORMAT()函数(虽然我更喜欢ircmaxell的方式)
答案 3 :(得分:0)
请参阅date
和strtotime
。有关其他时区的操作,请参阅date_default_timezone_set
和DateTime
类。