Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.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 将给定的时间戳转换为特定时区中的当前时间_Php - Fatal编程技术网

Php 将给定的时间戳转换为特定时区中的当前时间

Php 将给定的时间戳转换为特定时区中的当前时间,php,Php,使时间戳与特定时区的时间具有可比性的解决方案是什么(获取保存为时间戳的时间与当前时间之间的实际差异)?如果将时间戳保持为整数形式,则只需保存time()的输出,这是基于UTC的unix历元值。这使得时区不相关,因此您可以始终减去这两个值以秒为单位获得差值 $t1 = time(); //。。。后来 $t2 = time(); $timeDiff = $t2 - $t1; echo "The difference is " . $timeDiff . " seconds."; 我同意btx的回

使时间戳与特定时区的时间具有可比性的解决方案是什么(获取保存为时间戳的时间与当前时间之间的实际差异)?

如果将时间戳保持为整数形式,则只需保存time()的输出,这是基于UTC的unix历元值。这使得时区不相关,因此您可以始终减去这两个值以秒为单位获得差值

$t1 = time();
//。。。后来

$t2 = time();
$timeDiff = $t2 - $t1;
echo "The difference is " . $timeDiff . " seconds.";

我同意btx的回答。为了更好地理解时区、UTC和其他与时间相关的问题,您可以阅读,尽管它主要与Java相关,但其中描述了非编程语言特定的主要概念。

我读过“本地时间,因为字符串可以通过strftime()获取,本地时间戳(如果需要)可以通过mktime()获取。”,虽然my mktime()-time()为0,但如果计划使用特定时区而不是UTC,请确保将服务器(特别是php.ini文件)设置为所需的时区。我说这句话只是作为旁白,因为我一直在尝试同样的事情,但很长一段时间都无法找出为什么我的时间与服务器显示的时间不同(很遗憾,但这是真的)。