2016-08-14 64 views
0

因此,我想花時間Trello在他們的卡片到期日期中使用它,並將其與Unix時間進行比較,因爲我發現當我有兩個Unix時間戳時更容易處理。但是,我不確定如何轉換它。如何將Trello使用的時間戳轉換爲unix時間戳?

Trello時間戳是這樣的:

2016-08-13T17:27:06.886Z 

第一個數字是日期,和T後的時間。 Z表示它是「祖魯時間」,與UTC相同。

所以我想要做的就是把它轉換成使用Lua的Unix時間戳。

+0

這不是時間戳,這是JSON版本的時間。 –

回答

2

沒關係,我發現如何通過仔細觀察os.time()函數來做到這一點。

local function formatTime(s) 
    local y = tonumber(string.sub(s, 1, 4)) 
    local m = tonumber(string.sub(s, 6, 7)) 
    local d = tonumber(string.sub(s, 9, 10)) 
    local h = tonumber(string.sub(s, 12, 13)) 
    local mi = tonumber(string.sub(s, 15, 16)) 
    local s = tonumber(string.sub(s, 18, 19)) 

    local tbl = { 
     year = y, 
     month = m, 
     day = d, 
     hour = h, 
     minute = mi, 
     second = s, 
     isdst = (m>=3 and m<=10) --this is roughly close to DST, not perfect. 
    } 

    return os.time(tbl) 
end 

利用這一點,如果我叫了以下內容:

formatTime("2016-08-13T17:27:06.886Z") 

它會返回一個對應於時間Unix時間戳。希望這可以幫助任何有同樣問題的人。

-1

如果您想在Web應用程序或節點js應用程序中轉換時間,可以輕鬆使用Moment.Js。 http://momentjs.com

+0

Moment看起來像是一個偉大的Web應用程序工具,但我試圖使用Lua。不過謝謝。 – BreadyToCrumble

相關問題