【发布时间】:2013-01-07 05:37:32
【问题描述】:
我陷入了 php 中时间计算的问题。我会用我的例子告诉你:
我在网络服务器上托管了一个问候网站,该服务器位于印度。这意味着服务器在印度时区运行。现在让我们认为今天的日期是 '01/01/2013',我想在第二天 02/01/2013 的早上 0:00 AM (12:00 AM) 向英国发送问候。如果我提交我的贺卡,我的 php 脚本将按印度时区发送这张贺卡,这意味着当印度上午 12 点时,脚本将运行并发送贺卡,英国将在确切时间前 5 小时收到这张贺卡。我知道如何获得我使用时间偏移来获得时间的任何国家的正确时间。
$time = strtotime('H:m:s'.(time() - (serverOffset - ukOffset)))
那么将时间设置为 00:00AM 或当前时间剩余多少小时到 00:00AM 的方法是什么。有什么手续吗?
[新更新]
好的,我知道了
$SERVER_OFFSET = 19800; //INDIA +5.50
$PARIS_TZ_HOUR = 1.0; //FRANCE-PARIS +1.00
$NEW_OFFSET = ($PARIS_TZ_HOUR * (60*60)); //new_offset 3600
$MINUTES = ($SERVER_OFFSET - $NEW_OFFSET)/60;
// Lets date is: 2013-01-20 00:00:00
echo date('Y-m-d H:i:s', strtotime($MINUTES.'minutes', strtotime('2013-01-19')));
简单的话:
(19800-3600)/60 = 270(分钟)
270 分钟,即 4.5 小时
那么印度时间什么时候会 2013-01-20 00:00
然后它将在法国 2013-01-19 19:30:00
或
如果印度时间是 2013 年 1 月 20 日 04:30,那么法国时间是 2013 年 1 月 20 日 00:00 :)
我使用分钟而不是添加小时,因为分钟会给你更准确的结果,而不是小时。
就是这样,希望对大家有所帮助
【问题讨论】:
-
如果您发现以下任一解决方案有帮助,请将其标记为答案。
-
好的,抱歉我没有更新这个..检查这个解决方案有问题的细节