Php 将不带时区的DateTime转换为UTC
我在将日期时间字符串值转换为UTC时遇到问题。客户将在15分钟内上传一个带有日期时间值的文件(一个文件包括全天): 文件中没有日期时间偏移量[DST]和[Winter time]仅用于可视化(不包括在文件中!)。有没有办法在不知道偏移量的情况下将给定的日期时间字符串转换为UTC 我所期望的是:Php 将不带时区的DateTime转换为UTC,php,datetime,timezone,utc,Php,Datetime,Timezone,Utc,我在将日期时间字符串值转换为UTC时遇到问题。客户将在15分钟内上传一个带有日期时间值的文件(一个文件包括全天): 文件中没有日期时间偏移量[DST]和[Winter time]仅用于可视化(不包括在文件中!)。有没有办法在不知道偏移量的情况下将给定的日期时间字符串转换为UTC 我所期望的是: Date (UTC) Value 25.10.2015 22:00 2 [DST: 25.10.2015 00:00 +2] 25.10.2015 22:15 2
Date (UTC) Value
25.10.2015 22:00 2 [DST: 25.10.2015 00:00 +2]
25.10.2015 22:15 2 [DST: 25.10.2015 00:15 +2]
25.10.2015 22:30 2 [DST: 25.10.2015 00:30 +2]
25.10.2015 22:45 2 [DST: 25.10.2015 00:45 +2]
... ...
25.10.2015 00:00 2 [DST: 25.10.2015 02:00 +2]
25.10.2015 00:15 2 [DST: 25.10.2015 02:15 +2]
25.10.2015 00:30 2 [DST: 25.10.2015 02:30 +2]
25.10.2015 00:45 2 [DST: 25.10.2015 02:45 +2]
25.10.2015 01:00 2 [Winter time: 25.10.2015 02:00 +1]
25.10.2015 01:15 2 [Winter time: 25.10.2015 02:15 +1]
25.10.2015 01:30 2 [...]
25.10.2015 01:45 2
25.10.2015 02:00 2
... ...
我必须将这些日期时间值存储在MySQL数据库表中
非常感谢 您必须知道客户的时区ID,例如德国的
“欧洲/柏林”
。如果你根本不知道时区,那么你就不能这样做。不过,在“后退”DST转换期间可能存在歧义。如果您有足够的数据,您可能能够根据行在文件中的显示顺序(假设它们是顺序的)来解决歧义。就实现而言,您可以使用PHPDateTime
和DateTimeZone
类来完成所有要求。如果你搜索,你会发现很多这样的例子。如果您没有让它工作,那么编辑您的问题以显示您尝试过的代码。
Date (UTC) Value
25.10.2015 22:00 2 [DST: 25.10.2015 00:00 +2]
25.10.2015 22:15 2 [DST: 25.10.2015 00:15 +2]
25.10.2015 22:30 2 [DST: 25.10.2015 00:30 +2]
25.10.2015 22:45 2 [DST: 25.10.2015 00:45 +2]
... ...
25.10.2015 00:00 2 [DST: 25.10.2015 02:00 +2]
25.10.2015 00:15 2 [DST: 25.10.2015 02:15 +2]
25.10.2015 00:30 2 [DST: 25.10.2015 02:30 +2]
25.10.2015 00:45 2 [DST: 25.10.2015 02:45 +2]
25.10.2015 01:00 2 [Winter time: 25.10.2015 02:00 +1]
25.10.2015 01:15 2 [Winter time: 25.10.2015 02:15 +1]
25.10.2015 01:30 2 [...]
25.10.2015 01:45 2
25.10.2015 02:00 2
... ...