2015-12-01 65 views
4

我的数据库表中有一个TYPE = timestamp的行。所以保存的日期格式是这样的:在MYSQL中重新格式化日期以PHP输出

2015年11月30日14时54分04秒

我GOOGLE了它,并说这是MYSQL的默认的时间戳。我怎样才能回应这个日期在PHP中使用这种格式:

2015年11月30日下午2时54分04秒

注:我在一个循环中运行这和检索的数据包括在此日期在整个表中,所以这个日期的回声是$feeds->reg_date。我希望我的问题很清楚。

回答

3

你可以做这样的事情:

$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; 
+0

谢谢!如果这是保存的日期格式呢?14/11/2015 20:49:22? –

+0

我的意思是,我有一个不同的表,具有这种格式的日期,14/11/2015 20:49:22。我如何使用PHP输出这种格式,2015年11月14日8:49:22 PM? –

+0

@PaoloMedina如果日期时间以MySQL格式保存,例如Y-m-d H:i:s,则这将起作用。既然你是从数据库中获取日期时间,它应该适合你。 –

0

您可以使用date()strtotime()

$date = date('F d, Y h:i:s A', strtotime($row["date"])); 

请检查此link以获取更多日期格式。

1

有一个PHP语法,如Date('m-d-y'));您只需要通过使用该功能来更改显示日期的格式。