在php中转换mysql时间时,无论mysql时间是多少,我总是得到16:00:20
我在转换时间方面遇到了问题,当我在mysql时间戳上使用date()函数时,它只返回16:00 我是否使用了date()函数错误 PHP:在php中转换mysql时间时,无论mysql时间是多少,我总是得到16:00:20,php,mysql,date,time,Php,Mysql,Date,Time,我在转换时间方面遇到了问题,当我在mysql时间戳上使用date()函数时,它只返回16:00 我是否使用了date()函数错误 PHP: date\u default\u timezone\u set('America/Los\u Angeles'); $date=日期('H:i:SA'); echo“系统:$date”; $dbc=@mysqli\u connect(DB\u主机、DB\u用户、DB\u密码、DB\u名称); $query=“选择CURTIME()作为时间戳”; $resul
date\u default\u timezone\u set('America/Los\u Angeles');
$date=日期('H:i:SA');
echo“系统:$date
”;
$dbc=@mysqli\u connect(DB\u主机、DB\u用户、DB\u密码、DB\u名称);
$query=“选择CURTIME()作为时间戳”;
$result=mysqli_query($dbc,$query)或die(mysqli_error());
$row=mysqli\u fetch\u assoc($result);
echo“DB CurTime:.$row[“timestamp”]。“
”;
echo“DB CurTime Converted:”.date(“H:i:sa”,$row[“timestamp]”);
输出:
系统:下午20:41:23
DB CurTime:20:41:23
DB CurTime转换时间:下午16:00:20
CURTIME()
不会以秒为单位返回UNIX时间戳。您需要在其上运行一个strotime()
最后一行应该是:
echo "DB CurTime Converted: ".date("H:i:s A", strtotime($row["timestamp"]));
另一方面,还有值得考虑的信息。CURTIME()
不会以秒为单位返回UNIX时间戳。您需要在其上运行一个strotime()
最后一行应该是:
echo "DB CurTime Converted: ".date("H:i:s A", strtotime($row["timestamp"]));
另一方面,还有值得考虑的信息。是的,您使用的
date()
错误date()
接受UNIX时间戳形式的第二个参数,但这不是您要处理的
在从MySQL获取数据时,请使用
UNIX\u TIMESTAMP()
而不是CURTIME()
,尽管我确实想知道为什么您从MySQL获取时间而不是使用PHP的非常好的time()
是的,您使用的date()
是错误的date()
接受UNIX时间戳形式的第二个参数,但这不是您要处理的
从MySQL获取时间时,请使用UNIX\u TIMESTAMP()
而不是CURTIME()
,尽管我确实想知道为什么您从MySQL获取时间,而不是使用PHP的非常好的time()
尝试以下方法:
echo "DB CurTime Converted: ".date("H:i:s A",strtotime($row["timestamp"]));
编辑-哎呀,太慢了。试试这个:
echo "DB CurTime Converted: ".date("H:i:s A",strtotime($row["timestamp"]));
编辑-oops,太慢。您需要使用unix\u timestamp()mysql函数转换时间,或者使用strotime()转换PHP中的时间 解决方案1更改查询
$query = "SELECT UNIX_TIMESTAMP(CURTIME()) as timestamp";
我没有测试这个查询,但我相信它会起作用
解决方案2:更改最后一行
echo "DB CurTime Converted: ".date("H:i:s A",strtotime($row["timestamp"]));
你可以试试任何人!两者都应该产生相同的结果 您需要使用unix_timestamp()mysql函数转换时间,或者使用strotime()转换PHP中的时间 解决方案1更改查询
$query = "SELECT UNIX_TIMESTAMP(CURTIME()) as timestamp";
我没有测试这个查询,但我相信它会起作用
解决方案2:更改最后一行
echo "DB CurTime Converted: ".date("H:i:s A",strtotime($row["timestamp"]));
你可以试试任何人!两者都应该产生相同的结果