将日期格式化为人类可读格式

时间:2013-10-03 06:35:29

标签: php mysql unix-timestamp date-formatting

让我们在我的mysql数据库中说我有一个时间戳2013-09-30 01:16:06,让我们说这个变量是$ts

如何输出此内容以显示更像September 30th, 2013

7 个答案:

答案 0 :(得分:44)

$timestamp = "2013-09-30 01:16:06";
echo date("F jS, Y", strtotime($timestamp)); //September 30th, 2013

请注意使用S获取当天的英语序数后缀。
由于您已经使用strtotime,如果您需要当前时间的人类可读数据,您可以使用关键字“ now ”作为在strtotime("now")

相关来源

答案 1 :(得分:17)

使用strtotime()将该字符串转换为Unix时间戳,然后使用date()函数以您想要的方式显示它。

echo date("F j, Y, g:i a",strtotime($ts)); 

参考:

http://www.php.net/manual/en/function.strtotime.php

http://www.php.net/manual/en/function.date.php

答案 2 :(得分:4)

我认为甚至不需要PHP。检查MySQL DATE_FORMAT()函数。

示例:

SELECT DATE_FORMAT('2013-09-30 01:16:06', '%M %D, %Y %H:%i:%s') as `readable`;

结果:

September 30th, 2013 01:16:06

实际用途:

SELECT
    DATE_FORMAT(`date_column`, '%M %D, %Y %H:%i:%s') as `readable`
FROM
    `your_table`;

答案 3 :(得分:3)

echo date("F d Y",strtotime("2013-09-30 01:16:06"))

答案 4 :(得分:1)

类似的东西:

<?php
$date = '2013-09-30 01:16:06';
$convertDate = date('F jS, Y h:i:s', strtotime($date));
echo $convertDate;
?>

答案 5 :(得分:1)

Mysql查询

 select UNIX_TIMESTAMP(datetime_field) as datetime_field from table;

<强> PHP

echo date("F d Y", $datetime_field )

答案 6 :(得分:0)

使用diffForHumans函数:

Carbon\Carbon::parse($ts)->diffForHumans()