首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中检索当前时间时,如何计算夏时制时间?

在PHP中检索当前时间时,如何计算夏时制时间?
EN

Stack Overflow用户
提问于 2011-08-18 15:57:16
回答 5查看 3.9K关注 0票数 1

在夏令时,通过PHP (time()),获取时间时,它似乎返回了一个时间值,即一个小时的间隔。有什么办法可以得到正确的时间,计算日照节约时间吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-08-18 16:11:12

time()返回一个Unix时间戳,而Unix时间戳是一个固定的时间段:自Unix以来的秒数。它不受时区的影响。

一旦你有了准确的时刻,你可能想在一个给定的地方计算当地时间:

代码语言:javascript
复制
<?php

$now = time();
echo $now . PHP_EOL;

date_default_timezone_set('Europe/Madrid');
echo date('r', $now) . PHP_EOL;

date_default_timezone_set('Asia/Tokyo');
echo date('r', $now) . PHP_EOL;

..。将为同一时间戳打印不同的本地日期:

代码语言:javascript
复制
1313683738
Thu, 18 Aug 2011 18:08:58 +0200
Fri, 19 Aug 2011 01:08:58 +0900

同样的推理也适用于相反的操作:

代码语言:javascript
复制
<?php

date_default_timezone_set('Europe/Madrid');
$then = mktime(23, 55, 30, 12, 31, 2000);
echo $then . PHP_EOL;

date_default_timezone_set('Asia/Tokyo');
$then = mktime(23, 55, 30, 12, 31, 2000);
echo $then . PHP_EOL;

..。将打印不同的时间戳:

代码语言:javascript
复制
978303330
978274530
票数 2
EN

Stack Overflow用户

发布于 2011-08-18 15:59:55

time()以Unix时间戳格式获取操作系统时间。您可以使用PHP纠正这一点,但是imho应该考虑在操作系统级别上进行修复。

票数 0
EN

Stack Overflow用户

发布于 2011-08-18 16:00:50

要么确保系统时间是当前的,要么在PHP:http://www.php.net/manual/en/function.date.php#69221中添加/减去

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7110419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档