C++ C++;将时间ET转换为CET或其他形式
我正在解析包含日期和时间的文件。 假设我有以下格式的日期和时间:C++ C++;将时间ET转换为CET或其他形式,c++,timezone,converter,C++,Timezone,Converter,我正在解析包含日期和时间的文件。 假设我有以下格式的日期和时间: 2009/07/18 10:48:39 CET (value in txt-file) 这是在ET中: 2009/07/18 4:48:39 ET (could also be the value i parsed) 是否有在时间/日期之间转换的解决方案?也许是增压 在boost文档中找不到有用的信息 让我想从CET到ET或ET到EST或C++到EST,你会怎么做?< P>允许你使用日期时间格式字符(%y,%m,%d等)打印出
2009/07/18 10:48:39 CET (value in txt-file)
这是在ET中:
2009/07/18 4:48:39 ET (could also be the value i parsed)
是否有在时间/日期之间转换的解决方案?也许是增压
在boost文档中找不到有用的信息
让我想从CET到ET或ET到EST或C++到EST,你会怎么做?
< P>允许你使用日期时间格式字符(%y,%m,%d等)打印出<代码>结构> TM*< /Cord>对象。 您可以通过解析输入数据加载struct tm*
对象(假设它是常规的,这不需要很多代码),然后根据时区转换使用一些自定义逻辑修改tm struct的各个部分(添加小时,然后检查是否需要根据新的小时值更新日期),然后通过strftime以您想要的格式打印此datetime值。虽然没有php中可用的strtime/strftime函数那么简单,但还是有一个解决方案。我推荐
还要注意,“CET”和“ET”不是实时时区标识符。它们可能是某些时区的缩写,但不能唯一标识实际时区。如果您对文件中的数据具有某种控制权,则应将“CET”和“ET”更改为数字UTC偏移值,例如由
%z
从strftime()
(和cctz::Format()
)生成的值。数值UTC偏移量和Y/M/D H:M:S字段将允许您正确解析出准确的时间瞬间。谢谢!但那不是我真正想要的。我需要一个解决方案来转换ET和CET或EST。你知道有没有一个lib可以做到这一点吗?看起来boost确实支持一些datetime修改,另请参见,参见此线程。我认为boost应该有一种解析函数,这样您就不必手动加载boost特定的时间结构(如上所述),但我没有boost datetime.OK的经验。谢谢我来看看boost。我已经忽略了boost,找不到任何支持ET到EST或CET到ET等的支持。也许boost用户邮件列表会有所帮助。非常感谢。