Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MYSQL中重新格式化日期以在PHP中输出_Php_Mysql_Timestamp - Fatal编程技术网

在MYSQL中重新格式化日期以在PHP中输出

在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

我的数据库表中有一行是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: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