gpt4 book ai didi

php mktime 对同一日期给出不同的结果?

转载 作者:搜寻专家 更新时间:2023-10-31 22:11:49 24 4
gpt4 key购买 nike

以下代码:

    // settings 1st alternative
$season = 2011;
$startweek = 36;

// calculation, 1st alternative
// in any case Jan 1st is in 1. week
$firstweekuniversal = mktime(0,0,0,1,4,$season);
// I'd like to calculate monday 0:00 of the given week.
// date(...) computes to monday of the calculated week.
$startday1 = $firstweekuniversal + 86400 * (7*($startweek-1) - date('w', $firstweekuniversal)+1);

// settings 2nd alternative
$StartingDate = "KW36 - 5.09.2011 (Mo)";

// calculation, 2nd alternative
$firstparts = explode(" ", $StartingDate);
$secparts = explode(".", $firstparts[2]);
$startday2 = mktime(0,0,0,intval($secparts[1]),intval($secparts[0]),intval($secparts[2]));

// Output
echo "Start: \$startday1=".$startday1.", Timestamp=\"".date("d.m.Y - H:i:s", $startday1)."\"<br>\n";
echo "Start: \$startday2=".$startday2.", Timestamp=\"".date("d.m.Y - H:i:s", $startday2)."\"<br>\n";

导致此输出:

Start: $startday1=1315177200, Timestamp="05.09.2011 - 01:00:00"
Start: $startday2=1315173600, Timestamp="05.09.2011 - 00:00:00"

1 小时的差异从何而来?这不可能是夏季问题,在那种情况下 1h 必须是相反的,或者我错了?没有区别,当我尝试使用我的环境 (localhost) 时,但在我的 prvider 的服务器上有。

谁能给我解释一下?我在这里完全困惑。提前致谢,

最佳答案

我对夏令时的理解是,在冬季和夏季之间的某个时间点,太阳开始升起得更早,所以在早上 8 点,感觉应该是早上 9 点……这正是时钟的作用,它在移动推迟(通常一小时)。这也是为什么它是上学迟到的好借口:)

在任何情况下,您本地 php 的时区设置可能是 UTC(或其他一些“中性”时区),但服务器时区设置遵循夏令时。

关于php mktime 对同一日期给出不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12194140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com