我陷入了php中时间计算的问题。我会用我的例子告诉你:
我在网络服务器上托管了一个问候网站,该服务器位于印度。这意味着服务器在印度时区运行。现在让我们认为今天的日期是“01/01/2013”,我想在第二天 02/01/2013 早上 0:00(12:00AM)向英国发送问候。如果我提交我的贺卡,我的 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-01-20 04:30 它会2013-01-20 00:00 在法国 :)
我使用分钟而不是添加小时,因为分钟会给你更准确的结果而不是小时。
就是这样,希望对大家有所帮助