如果我在PHP中运行以下代码:
echo mktime(0,0,0,1,1,1970);
返回值为-3600,而不是我预期的0.
该服务器是英国的,它目前是9月21日(即BST夏季)(虽然我不希望这会影响纪元时间戳)和每个php.info:"默认时区欧洲/伦敦".
设置夏令时标志也如下,给出:
echo mktime(0,0,0,1,1,1970,0); (即正确的DST标志,0表示1月1日而不是DST/BST)返回-3600
echo mktime(0,0,0,1,1,1970,1); (错误的标志 - 将1月1日设置为DST)返回-7200
echo mktime(0,0,0,1,1,1970,-1); (即未设置DST标志 - 由PHP决定)返回-3600
有谁知道为什么这个时代会被退回-3600,而不是0,拜托?
1970年1月1日午夜时分在英国夏令时,格林威治标准时间是午夜1小时.尝试将时区设置为UTC:
date_default_timezone_set('UTC'); // or just change php.ini
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
765 次 |
| 最近记录: |