3
以下是方案 - 我将PHP中的默认时区设置为UTC。除了一个与我一起工作的日期/时间外,其余所有日期都设置为当前UTC时间;当稍后显示时,我为该特定用户设置时区,并且日期出现在他们的时区中。很棒。更改时区而不更改DateTime对象的值
除了我有一个日期/时间,用户可以在窗体上输入。它在24小时内以“YYYY-MM-DD HH:MM”的形式出现(例如:“2014-09-18 17:00”)。用户自然而然地将时间设置在他们的时区中,而不是UTC。
如果我使用输入值创建了一个新的DateTime对象,它将以UTC保存,因此稍后显示时会关闭几个小时(取决于原始时区)。如果我在新对象上设置时区,则它会更改该值,并再次假定输入值为UTC。
我已经做了一些Google搜索,但没有发现任何关于PHP(我找到了几个C#的答案)。这可能与DateTime对象(或与碳)?我是否坚持根据用户当前的时区进行手动加/减小时数,以便首先将其放置在UTC中?
不知何故,我完全错过了DateTime构造函数中的该选项。谢谢! – 2014-09-22 18:00:46