我有一个应用程序,用户输入时间/日期,然后通过strtotime()转换成Unix时间戳(用户设置自己的时区)。这通常工作得很好; strtotime甚至设法将诸如2014年3月9日2:15 AM之类的时间转换为时间戳(其对应于如果用户输入“2014年3月9日上午3:15”将返回的时间戳)。PHP strtotime和DST
但是,例如,用户想要输入2014年11月2日上午的时间 - 具体地说,在2点到3点之间。是否有一个元素,用户可以添加到指定哪个时间将被使用?
例如,如果用户通过strtotime()通过'2014年11月2日2:15',则结果是与该日期的“second”2:15对应的UNIX时间戳。
如何指定“第一个”2:15?
我建议你使用'DateTime'和'DateTimeZone'类而不是'strtotime()' – Phil 2014-10-30 02:37:55
对不起,这个天真的问题,但我不知道这对用户会有用吗?我意识到我最初的帖子有点不清楚,所以我编辑了它。目前,该应用程序接受来自用户的输入,例如2014年11月2日2:15 AM。有没有一个字符串*用户*(不是编码器,因为我在我的OP中写错了)可以输入来告诉程序*他们打算使用哪个*“2:15”?或者这是我不得不使用DateTime的东西吗?再次,对于混淆抱歉! – user3092995 2014-10-30 02:58:04
这基本上没有解决方案。 11月2日凌晨2点15分有两个。在这段时间里你什么也不做,除非你不介意可能要等一个小时。这就是为什么切换发生在周末深夜,以减少这种情况导致的问题最小化。在我意识到的现实世界的任何地方都没有官方的解决方案。 – deceze 2014-10-30 03:08:53