我如何将 Trello 使用的时间戳转换为 unix 时间戳?

How would I convert the timestamp that Trello uses into unix timestamp?

所以我尝试将 Trello 在他们的卡片到期日中使用的时间与 Unix 时间进行比较,因为我发现当我有两个 Unix 时间戳时处理起来更容易。但是,我不确定如何转换它。

Trello 时间戳如下所示:

2016-08-13T17:27:06.886Z

第一个数字是日期,T 之后是时间。 Z 表示它是 "Zulu time",与 UTC 相同。

所以我想做的是使用 Lua.

将其转换为 Unix 时间戳

如果你想在 web 应用程序或 node js 应用程序中转换时间,你可以轻松使用 Moment.Js。 http://momentjs.com

没关系,我通过仔细查看 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")

它会 return 一个对应于那个时间的 Unix 时间戳。希望这对遇到同样问题的人有所帮助。