我很尷尬(和震驚)我找不到這樣的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