2015-01-11 191 views
1

我有一個unix時間字符串"1420960690"在GMT。我可以通過使用紅寶石「日期」寶石像這樣將它轉換爲可讀文本:紅寶石日期寶石utc偏移

require 'date' 
DateTime.strptime("1420960690", '%s') 
# => #<DateTime: 2015-01-11T07:18:10+00:00 ((2457034j,26290s,0n),+0s,2299161j)> 

日期顯示在格林尼治標準時間,我需要MST。我不明白在文檔中UTC的偏移量。 http://ruby-doc.org/core-2.2.0/Time.html示例或鏈接正確的方向將不勝感激。

輸出即時尋找是2015-01-10T00:18:10 + 00:00我只是不知道如何得到這個答案,而不使用另一個寶石。

+1

'DateTime.strptime(「1420960690」,'%s')。to_time.utc'將會工作,我認爲。 –

+0

'日期'不是寶石。由於文檔來自http://ruby-doc.org/core-2.2.0/,它是Ruby解釋器核心的一部分。 –

+0

你是什麼意思,「這不是山區時間」,具體問題是什麼?你的意思是日期不應該在Mountain Time中顯示,但它是?你是說日期應該在Mountain Time中顯示,但它不是?預期產出是多少?它與實際產出有什麼不同? –

回答

2

很明顯,UTC(通常是GMT)的偏移量是0.這就是UTC的用途。

1

我結束了使用。

DateTime.strptime("1420960690", '%s').to_time.utc - 25200 
=> 2015-01-11 00:18:10 UTC 

I got the off set by looking up MST from GMT which was 7 hours, so (7 * 60min) = 420min * 60sec = 25200 total seconds for the offset.