在MYSQL中重新格式化日期以在PHP中输出
我的数据库表中有一行是TYPE=timestamp。因此,保存的日期格式如下所示:在MYSQL中重新格式化日期以在PHP中输出,php,mysql,timestamp,Php,Mysql,Timestamp,我的数据库表中有一行是TYPE=timestamp。因此,保存的日期格式如下所示: $dt = "2015-11-30 14:54:04"; $unixdatetime = strtotime($dt); $formatted_date = strftime("%B %d, %Y %I:%M:%S %p",$unixdatetime); echo $formatted_date; // output: November 30, 2015 02:54:04 PM 2015-11-30 14:5
$dt = "2015-11-30 14:54:04";
$unixdatetime = strtotime($dt);
$formatted_date = strftime("%B %d, %Y %I:%M:%S %p",$unixdatetime);
echo $formatted_date; // output: November 30, 2015 02:54:04 PM
2015-11-30 14:54:04
我在谷歌上搜索了一下,说这是MYSQL的默认时间戳格式。如何使用以下格式在PHP中回显此日期:
2015年11月30日下午2:54:04
注意:我在一个循环中运行它,检索到的数据包括整个表中的这个日期,因此要回显的这个日期的var是
$feeds->reg_date
。我希望我的问题很清楚。你可以这样做:
$dt = "2015-11-30 14:54:04";
$unixdatetime = strtotime($dt);
$formatted_date = strftime("%B %d, %Y %I:%M:%S %p",$unixdatetime);
echo $formatted_date; // output: November 30, 2015 02:54:04 PM
编辑:
$unixdatetime = strtotime($feeds->reg_date);
$formatted_date = strftime("%B %d, %Y %I:%M:%S %p",$unixdatetime);
echo $formatted_date;
重新编辑
if(DateTime::createFromFormat('d/m/Y H:i:s', $feeds->reg_date)){
$unixdatetime = DateTime::createFromFormat('d/m/Y H:i:s', $feeds->reg_date)->getTimestamp();
}else{
$unixdatetime = strtotime($feeds->reg_date);
}
$formatted_date = strftime("%B %d, %Y %I:%M:%S %p",$unixdatetime);
echo $formatted_date;
您可以使用date()
和strotime()
查看此项了解更多日期格式。有一种php语法,如date('m-d-y');您只需使用该功能更改日期的显示格式。谢谢!如果这是保存于2015年11月14日20:49:22的日期格式,该怎么办?我的意思是,我有一个不同的表,其中一行的日期格式为2015年11月14日20:49:22。如何使用PHP以这种格式输出此数据,2015年11月14日8:49:22 PM?@paolomedia如果日期时间以MySQL格式保存,即Y-m-d H:I:s,则此功能将起作用。因为您是从数据库获取日期时间,所以它应该可以正常工作。它的日期输出错误。为了澄清:
14/11/2015 20:49:22
=dd/mm/yyyy08:49:22 PM
。我尝试了上述strftime(“%B%d,%Y%I:%M:%S%p”,$unixdatetime)
,-->结果:1970年1月1日凌晨12:00。数据库中保存的日期如下14/11/2015 20:49:22
。