我使用php的date_default_timezone_set()
,并根据用户表中用户的timezone
字段进行设置。因此,我可以轻松地向用户显示日期/时间,并从他们那里获取日期/时间。
但为了在数据库中存储与日期相关的值,我必须使用标准的GMT时区。
问题:切换到user_timezone和GMT的最佳或标准方式是什么
当我想在数据库中插入或更新字段时,你建议我遵循这些步骤吗?
- 使用
date_default_timezone_set('GMT');
更改时区 - 使用
$inserttimestap = time();
或$inserttimestamp = mktime();
获取时间 - 使用
date_default_timezone_set($this->session->userdata('timezone'));
将时区更改回用户默认值
绝对没有必要使用date_default_timezone_set('GMT')
,因为要转换为GMT,有一组特殊的函数名称以"gm"开头:
gmmktime()
获取GMT时区中的时间戳- 提供GMT日期格式的
gmdate()
-
还有
gmstrftime()
PHP手册 -
此外,值得注意的是,
time()
仅在GMT 中返回当前时间戳