Php 将MySQL时间戳转换为更可读的格式
基本上,我希望将时间戳字段从:2012-03-14 23:14:58格式转换为更可读的2012年3月15日下午23:14格式 我经历过这件事,但我真的无法理解。我已经包含了我当前的PHP脚本,我正在使用它将MySQL数据库数据解析到Android应用程序中Php 将MySQL时间戳转换为更可读的格式,php,mysql,Php,Mysql,基本上,我希望将时间戳字段从:2012-03-14 23:14:58格式转换为更可读的2012年3月15日下午23:14格式 我经历过这件事,但我真的无法理解。我已经包含了我当前的PHP脚本,我正在使用它将MySQL数据库数据解析到Android应用程序中 <?php $con = mysql_connect("*******", "*******", "*******"); if(!$con) { die('Could not connect: ' . mysql_error());
<?php
$con = mysql_connect("*******", "*******", "*******");
if(!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("bluebase", $con);
$q=mysql_query("SELECT * from Comments where Category = 'General' ORDER BY Timestamp DESC");
while($e=mysql_fetch_assoc($q))
$output['General'][]=$e;
print(json_encode($output));
mysql_close();
?>这样就可以了:
<?php
echo date('H:i a F j, Y', strtotime($timestamp));
?>
这样就可以了:
<?php
echo date('H:i a F j, Y', strtotime($timestamp));
?>
日期'h:i a F d,Y',标准时间'2012-03-14 23:14:58'
请注意,“d”是带前导零的日期
“h”是12小时格式,因为您希望显示AM/PM
如果不需要前导零,请使用“j”表示数字日,使用“g”表示12小时格式的小时数。date'h:i a F d,Y',strotime'2012-03-14 23:14:58'
请注意,“d”是带前导零的日期
“h”是12小时格式,因为您希望显示AM/PM
如果您不需要前导零,请使用“j”表示数字日,使用“g”表示12小时格式的小时数。您可以根据需要设置日期格式。只用
date('H:i a F d, Y', strtotime($timestamp));
尽管正如米洛在问题评论中指出的那样,没有理由使用24小时制和上午/下午制。您可以根据需要设置日期格式。只用
date('H:i a F d, Y', strtotime($timestamp));
尽管正如米洛在问题评论中指出的那样,没有理由使用24小时制和上午/下午制。您可以选择几种方式。我总是将时间作为Unix时间戳存储在数据库中,因为从那里转换很简单。如果您的数据库中已经有数据,现在更改它已经太晚了,或者您有其他理由在数据库中使用该格式的日期,那么您需要将时间转换为unix时间戳,以便在PHP日期函数中使用:
while($e=mysql_fetch_assoc($q)) {
$e['Timestamp'] = date('h:i a F d, Y', strtotime($e['Timestamp']));
$output['General'][]=$e;
}
。。。这将用重新格式化的时间戳覆盖时间戳字段。您可以选择几个路径。我总是将时间作为Unix时间戳存储在数据库中,因为从那里转换很简单。如果您的数据库中已经有数据,现在更改它已经太晚了,或者您有其他理由在数据库中使用该格式的日期,那么您需要将时间转换为unix时间戳,以便在PHP日期函数中使用:
while($e=mysql_fetch_assoc($q)) {
$e['Timestamp'] = date('h:i a F d, Y', strtotime($e['Timestamp']));
$output['General'][]=$e;
}
。。。这将用重新格式化的时间戳覆盖时间戳字段。23:14 pm是多余的。你不想要晚上11:14吗?你也可以使用MySQL的DATE_格式函数-晚上23:14的副本是多余的。你不想晚上11:14吗?你也可以使用MySQL DATE_格式函数-参数的副本是反向的,而且时间戳本身在这里不起作用。你需要先把它转换成秒。你的函数参数是反向的。你说得对,我切换了参数。我真丢脸。修正了。你的参数是反向的,而且时间戳本身在这里也不起作用。你需要先把它转换成秒。你的函数参数是反向的。你说得对,我切换了参数。我真丢脸。搞定了。@SmilingBlue看看杰森的答案。他把它放在你的代码里。@SmilingBlue看看杰森的答案。他把它放在你的代码里。