php时区,夏时制的问题

星光盈盈 2014-06-21 01:34:57
一个加拿大的客户,希望网站可以设置时区,并自动切换夏时制,这个没有做过,请问高手php改怎么处理呢?
...全文
233 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2014-06-23
  • 打赏
  • 举报
回复
是的得到时区后才能设置 但是不是时区偏移,而是具体的城市。因为是否执行夏令时是当地政府的事情 比如
echo date_default_timezone_get(), date(' Y-m-d H:i:s I'), PHP_EOL;
date_default_timezone_set('America/Toronto'); //加拿大/多伦多
echo date_default_timezone_get(), date(' Y-m-d H:i:s I'), PHP_EOL;
PRC 2014-06-23 07:46:18 0 America/Toronto 2014-06-22 19:46:18 1 但是就和没有 Asia/Beiging (北京)一样并没有 America/Ottawa (渥太华)这样的定义 手册中 date_default_timezone_set 函数的说明中有一张支持的时区列表。 自己慢慢看吧
星光盈盈 2014-06-23
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
date 函数的格式串 I 是否为夏令时 如果是夏令时为 1,否则为 0
是这样,我后台有个下拉选择框,用户选则时区,options的value是 -12 到 +12, 我想根据GMT偏移量,得到时区,比如+8,得到 Asia/Shanghai 这样我才可以用 date_default_timezone_set('Asia/Shanghai');来设置时区。
  • 打赏
  • 举报
回复
echo date('I', time()); 返回1是夏令时,0不是
xuzuning 2014-06-21
  • 打赏
  • 举报
回复
date 函数的格式串 I 是否为夏令时 如果是夏令时为 1,否则为 0
星光盈盈 2014-06-21
  • 打赏
  • 举报
回复
加个date_default_timezone_set();很简单 问题是怎么判断夏令时切换
  • 打赏
  • 举报
回复
PHP文件开头加上date_default_timezone_set();设置相应的时区

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧