8
A
回答
8
下面的代码做到这一点,除了它不处理时区:
s="Sat, 29 Oct 1994 19:43:31 GMT"
p="%a+, (%d+) (%a+) (%d+) (%d+):(%d+):(%d+) (%a+)"
day,month,year,hour,min,sec,tz=s:match(p)
MON={Jan=1,Feb=2,Mar=3,Apr=4,May=5,Jun=6,Jul=7,Aug=8,Sep=9,Oct=10,Nov=11,Dec=12}
month=MON[month]
print(os.time({tz=tz,day=day,month=month,year=year,hour=hour,min=min,sec=sec}))
但它打印下面783467011.代码告诉我们, 1288374211是不同日期:
print(os.date("%c",1288374211))
--> Fri Oct 29 15:43:31 2010
print(os.date("%c",783467011))
--> Sat Oct 29 19:43:31 1994
14
更正lhf的示例代码来解释时区,因为os.time()没有指定时区的方法。同时假设所有输入都以GMT结束,因为这只能与GMT一起使用。
s="Sat, 29 Oct 1994 19:43:31 GMT"
p="%a+, (%d+) (%a+) (%d+) (%d+):(%d+):(%d+) GMT"
day,month,year,hour,min,sec=s:match(p)
MON={Jan=1,Feb=2,Mar=3,Apr=4,May=5,Jun=6,Jul=7,Aug=8,Sep=9,Oct=10,Nov=11,Dec=12}
month=MON[month]
offset=os.time()-os.time(os.date("!*t"))
print(os.time({day=day,month=month,year=year,hour=hour,min=min,sec=sec})+offset)
哪给了我们783477811.我们将用os.date(“!%c”)进行验证,因为!将以UTC而不是本地时区输出。
print(os.date("!%c",783477811))
--> Sat Oct 29 19:43:31 1994
+0
!很好,thx。 – Tim 2016-03-04 08:26:35
8
如果您需要将值转换为UNIX时间戳,代码这样做会是这样的:
-- Assuming a date pattern like: yyyy-mm-dd hh:mm:ss
local pattern = "(%d+)-(%d+)-(%d+) (%d+):(%d+):(%d+)"
local timeToConvert = "2011-01-01 01:30:33"
local runyear, runmonth, runday, runhour, runminute, runseconds = timeToConvert:match(pattern)
local convertedTimestamp = os.time({year = runyear, month = runmonth, day = runday, hour = runhour, min = runminute, sec = runseconds})
+0
查看我的答案和额外的时区处理它。只有在当前时区(和夏令时)与其运行的系统一致时,您的答案才有效。 – Arrowmaster 2011-05-05 22:47:58
4
使用luadate,你可以用luarocks安装。
date = require 'date'
local d1 = date('Sat, 29 Oct 1994 19:43:31 GMT')
local seconds = date.diff(d1, date.epoch()):spanseconds()
print(seconds)
相关问题
- 1. 将Unix时间戳转换为日期为字符串? Swift
- 2. 将字符串日期转换为时间戳并返回python
- 3. 将日期字符串转换为Unix时间戳
- 4. 将日期字符串转换为时间戳
- 5. 将字符串转换为Hive中的日期/时间戳
- 6. Node.js将日期字符串转换为unix时间戳
- 7. 将日期时间字符串转换为日期时间
- 8. 使用pd.to_datetime将日期字符串转换为日期时删除时间戳
- 9. Freemarker:将unix时间戳字符串转换为日期格式字符串
- 10. 转换YYMMDDHHMM日期/时间字符串到PHP时间戳
- 11. 如何时间戳字符串转换为日期在C#
- 12. 将字符串时间戳转换为PHP中的时间戳
- 13. PHP将日期转换为时间戳
- 14. 将EPOCH时间戳转换为日期
- 15. 将日期转换为时间戳
- 16. 将日期转换为jQuery时间戳
- 17. Bash将日期转换为时间戳
- 18. 将日期字符串转换为日期时间
- 19. 将日期字符串转换为日期时间对象
- 20. 将UTC日期转换为日期时间字符串Javascript
- 21. 将日期,日期时间转换为时间戳
- 22. 将日期和时间转换为日期+时间戳
- 23. 将字符串'时间'转换为日期时间
- 24. 将任何日期字符串转换为不带时区的时间戳
- 25. 如何将日期对象从时间戳转换为日期而不转换为json中的字符串
- 26. 将字符串转换为日期并将日期转换回字符串
- 27. Django过滤日期时间后,将字符串转换为日期时间
- 28. 如何将日期时间字符串转换为自定义日期时间
- 29. C#将字符串转换为无日期时间的日期时间
- 30. 强制将时间戳或时间间隔字符串转换为时间戳
有关日期+时间库,请参阅http://luaforge.net/projects/date/。 – lhf 2010-11-05 11:14:12