本文介绍了从/转换到user_timezone和gmt的标准方式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用php的 date_default_timezone_set(),并根据用户表中用户的时区字段进行设置。所以我可以轻松地向用户显示日期/时间,并从中获取日期/时间。

I use php's date_default_timezone_set() and set it according to user's timezone field in the the user table. So with ease I can show date/time to users and get date/time from them.

但是,为了在数据库中存储日期相关的值,我必须使用标准的GMT时区。

But for storing date related values in database, I have to use the standard GMT timezone.

问题:什么是最佳或可能的标准切换到/从user_timezone和GMT?

The question: What is the best or maybe the standard way for switching to/from user_timezone and GMT?

当我想在数据库中插入或更新字段时,建议我按照这些步骤?

Do you suggest me to follow these steps when I want to insert or update a field in database?


  1. 使用 date_default_timezone_set('GMT')更改时区;

  2. 使用 $ insertionttimestap = time(); $ insertionttimestamp
    = mktime();

  3. 使用以下方式将时区恢复为用户默认值: date_default_timezone_set($ this-> session-> userdata('timezone'));

  1. Change the timezone using date_default_timezone_set('GMT');
  2. Get the time using $inserttimestap = time(); or $inserttimestamp= mktime();
  3. Change the timezone back to user default using: date_default_timezone_set($this->session->userdata('timezone'));


推荐答案

绝对不需要使用 date_default_timezone_set 'GMT')因为转换为G MT,有一组特殊功能,函数名以'gm'开头:

There is absolutely no need to use date_default_timezone_set('GMT') because for converting to GMT, there is a special set of functions that the function names begin with 'gm':


  • gmmktime() 在GMT时区获取时间戳。

  • gmdate()给出GMT日期格式。 li>
  • 还有 gmstrftime()

  • gmmktime() gets a timestamp in GMT timezone.
  • gmdate() that gives a GMT date format.
  • There is also gmstrftime() PHP manual

此外,值得注意的是, time 仅在GMT返回当前时间戳

Furthermore it's notable that the time() returns current timestamp only in GMT

这篇关于从/转换到user_timezone和gmt的标准方式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-31 08:34