获取900天前的日期

我正在开发一个计算程序,将数字(比如900)转换为人类可读的日期。

我已经能够将365转换为1年0个月和0天。 但是,我该如何将365转换为20/3/15

点赞
用户2858170
用户2858170

Lua标准库os提供了time和date函数来处理这样的事情。但也可以使用其他库,比如wxLua。

首先,需要获取当前时间:

local currentTimeInSeconds = os.time()

然后,需要倒退时间。请记住,2016年是闰年!所以,需要倒退366天,而不是365天。

local timeAgo = 366 * 24 * 60 * 60

然后调用os.date()将秒转换为日期

print(os.date("%d/%m/%y", currentTimeInSeconds - timeAgo))

这将给出输出

20/03/15

更多信息请参考Lua 5.0 PIL

2016-03-20 11:52:21
用户1009479
用户1009479
local t = os.date("*t", os.time())
t.day = t.day - 900
local ago = os.time(t)

ago 是 900 天前的时间戳。你可以按你需要格式化日期:

print(os.date("%d/%m/%y", ago))
2016-03-20 12:19:27