我想用php获取当地时间.我写了两个不同的版本,但他们都给出了错误的时间
date_default_timezone_set('UTC');
$now = new DateTime();
echo $now->getTimestamp();
Run Code Online (Sandbox Code Playgroud)
其他方式
date_default_timezone_set('America/New York');
echo strtotime("now")."<br/>";;
$now = new DateTime();
echo $now->getTimestamp();
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,我都会比当地时间早四点四.有没有其他方式来获得当地时间?
N.B*_*.B. 20
DateTime::getTimestamp()返回unix时间戳.该数字始终为UTC.你想要的是根据你的时区格式化日期.
$dt = new DateTime("now", new DateTimeZone('America/New York'));
echo $dt->format('m/d/Y, H:i:s');
Run Code Online (Sandbox Code Playgroud)
或根据您的需要使用不同的日期格式.
此外,您可以使用DateTime库来满足您的所有日期需求.每次要获取日期时都无需更改服务器的默认时区.
小智 8
只需使用函数date_default_timezone_set().这是一个例子:
<?php
date_default_timezone_set("Asia/Dhaka");
echo date('d-m-Y h:i:s A');
?>
Run Code Online (Sandbox Code Playgroud)
希望它会有所帮助,谢谢.
| 归档时间: |
|
| 查看次数: |
36163 次 |
| 最近记录: |