Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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
在php中转换mysql时间时,无论mysql时间是多少,我总是得到16:00:20_Php_Mysql_Date_Time - Fatal编程技术网

在php中转换mysql时间时,无论mysql时间是多少,我总是得到16:00:20

在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

我在转换时间方面遇到了问题,当我在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()作为时间戳”; $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"]));
你可以试试任何人!两者都应该产生相同的结果