lua 差值 日期_Lua日期格式和对比

你问几件事情,所以这里是我的答案:

我应该存储在时代的日期?

一般是,存储日期最好的方法是使用时期,由os.time

你如何比较和Lua日期返回的?

这取决于你想如何“比较”它们。

如果你只是想知道哪一个更新/更旧,那么最简单的最快的事情就是将它们存储为“时代”,然后做date1 < date2;因为这两个日期都只是数字,这是高性能和干净的。

如果您想知道两个给定日期之间经过了多少个月/天/年,那会更复杂一些。您将需要类似下面的代码:

diff = os.date("*t", os.difftime(date1, date2))

在那个例子中,返回diff类似于{year=1, month=5, day=1, hour=2, min=3, sec=40 ...}

我找性能表...

如果您经常使用os.date()将时期转换为日期(例如,用于打印),那么您可能需要将年,月等信息“缓存”到表中,因此您不必一次又一次地调用它。但是,只有在遇到糟糕的表现时才这样做; 不预先优化。

日期的最佳字符串格式是什么?

这完全取决于你想如何使用它们。例如,如果您的应用与另一个需要某种日期格式的服务进行交互,则在您的所有应用中使用该格式是有意义的。

如果没有特别需要使用的格式,然后一个候选人是(%x):

os.date("%x", date) -- 09/16/1998 (for example)

,让你依赖于计算机的区域设置的字符串。这可能会或可能不会是理想的。

如果你想表示要在所有电脑一样,独立于它们的语言环境,你可能想尝试的标准格式,如ISO 8601:

os.date("%Y-%m-%d", date) -- returns "1998-09-16" in all computers

这种格式有很多的优势;最明显的是按字母排序的日期也按时间顺序排序。但最重要的一点是,许多软件都准备好读取/使用它。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值