我很尴尬(和震惊)我找不到这样的SO或谷歌上的好答案,请随时指出我有一个dup,但...从时区和日期和时间创建时间对象?
我想要一个功能(在纯Ruby理想,但active_support解决方案都OK),其工作原理是这样:
输入:一些合理的格式(例如,2016-12-25 12:00
)和时区的日期时间字符串。 不偏移,而是一个时区,如America/Chicago
或America/New_York
)。例如,
make_time_in_zone('2016-12-25 12:00', 'America/Chicago')
输出:表示该时间精确点A Time
或DateTime
对象。也就是说,函数应该使用时区来考虑偏移和夏时制时间调整,以便您可以知道,例如,在America/Chicago
的圣诞节中午中午UTC时间是什么时候。
我知道我可以将时区设置为所需的时区,创建Time
对象,然后将时区设置回系统一,但我认为这是一个不可接受的解决方案,并且需要一个实际支持此功能的函数用例。
看看这对你的作品以某种方式:http://stackoverflow.com/questions/34175813/convert-string-to-date-of-specific-timezone/34176272#34176272 – Beartech
不太。 'in_time_zone'完成另一个方向:准确地确定一个时间点,并告诉你它在某个时区的日期和时间。舍入到午夜,并添加招将不必总是工作,无论是(至少对于一般的情况下),因为这取决于区和时间,'in_time_zone'可以向前移动你*或*向后 – Jonah
天还没什么明确你要。 “......这样你就可以知道,例如,在美国/芝加哥的圣诞节中午几点了。”你的意思是UTC吗?因为在美国/芝加哥的圣诞节中午是中午。没有意义成为一个自作聪明,真的不理解你想要什么。 – Beartech