请教各位,不知道ngx 模块是怎么进行时间转换与计算的比如:outdate='2017-11-23 14:59'if ngx.time() == outdate then <-- 这里需要怎么转换。才能判断没有找到方法 执行操作end
yyyy-mm-dd hh:mm:ss` 格式的字符串。如果是想比较两个时间的先后顺序,建议用 ngx.now() 返回表示epoch的浮点数,然后比较大小。顺便一提,ngx.time() 的精度只到秒,有些场景下是不够用的。
如果想要判断时间格式字符串是否相等,用 ngx.localtime() 或者 ngx.utctime() 可以返回对应的 `yyyy-mm-dd hh:mm:ss` 格式的字符串。如果是想比较两个时间的先后顺序,建议用 ngx.now() 返回表示epoch的浮点数,然后比较大小。顺便一提,ngx.time() 的精度只到秒,有些场景下是不够用的。在 2016年11月21日星期一 UTC+8下午9:17:27,g_l...@qq.com写道:请教各位,不知道ngx 模块是怎么进行时间转换与计算的比如:outdate='2017-11-23 14:59'if ngx.time() == outdate then <-- 这里需要怎么转换。才能判断没有找到方法 执行操作end
ngx.time()获取的是时间戳用lua的os.date函数格式化成字符串就可以了os.date("%Y-%m-%d %H:%M", ngx.time())ref https://www.lua.org/pil/22.1.html在 2016年11月21日星期一 UTC+8下午9:17:27,g_l...@qq.com写道:请教各位,不知道ngx 模块是怎么进行时间转换与计算的比如:outdate='2017-11-23 14:59'if ngx.time() == outdate then <-- 这里需要怎么转换。才能判断没有找到方法 执行操作end
谢谢你的回话,我希望能把 yyyy-mm-dd H:M:S 转换成 unix 时间 123456这种精确比较。可以吗?但是仅用 ngx 模块的在 2016年11月22日星期二 UTC+8上午9:29:12,halfcrazy写道:ngx.time()获取的是时间戳用lua的os.date函数格式化成字符串就可以了os.date("%Y-%m-%d %H:%M", ngx.time())ref https://www.lua.org/pil/22.1.html在 2016年11月21日星期一 UTC+8下午9:17:27,g_l...@qq.com写道:请教各位,不知道ngx 模块是怎么进行时间转换与计算的比如:outdate='2017-11-23 14:59'if ngx.time() == outdate then <-- 这里需要怎么转换。才能判断没有找到方法 执行操作end
yyyy-mm-dd H:M:S这种格式决定了你的时间精确度就在秒级了,转换成时间戳再比较一样的结果,而且ngx模块提供的是缓存的时间,不需要消耗计算资源。当然如果确实需要用unix时间戳比较的话,可以用lua提供的os.time(), 如 os.time({ year=2016, month=11,day=22})会返回Number类型的时间的,不过精度没有区别,反而消耗更多,不是特殊需要的话不太推荐这么办。ngx模块貌似没有这样的功能。在 2016年11月23日星期三 UTC+8上午9:39:57,g_l...@qq.com写道:谢谢你的回话,我希望能把 yyyy-mm-dd H:M:S 转换成 unix 时间 123456这种精确比较。可以吗?但是仅用 ngx 模块的在 2016年11月22日星期二 UTC+8上午9:29:12,halfcrazy写道:ngx.time()获取的是时间戳用lua的os.date函数格式化成字符串就可以了os.date("%Y-%m-%d %H:%M", ngx.time())ref https://www.lua.org/pil/22.1.html在 2016年11月21日星期一 UTC+8下午9:17:27,g_l...@qq.com写道:请教各位,不知道ngx 模块是怎么进行时间转换与计算的比如:outdate='2017-11-23 14:59'if ngx.time() == outdate then <-- 这里需要怎么转换。才能判断没有找到方法 执行操作end