当前位置: 首页 > news >正文

Lua 使用 os.time 获取时间戳需谨慎

1、使用 os.time() 获取当前系统时间戳可以放心大胆的使用,不会出问题!

print("curTimeStamp->", os.time())

2、使用 os.time({timeTbl}) 获取指定日期的时间戳就需要注意了:

指定日期必须是在 1970-01-01 08:00:00 之后才能获取到时间戳,否则返回 nil 。

print(os.time({year = 1970, month = 1, day = 1, hour = 8, min = 0, sec = 0}))
-- 0

print(os.time({year = 2021, month = 6, day = 6}))
-- 1622952000

print(os.time({year = 1970, month = 1, day = 1, hour = 0, min = 0, sec = 0}))
-- nil

print(os.time({year = 1969, month = 1, day = 1}))
-- nil

所以,在获取指定日期的时间戳的时候,除非我们能确保指定日期是在 1970-01-01 08:00:00 之后,否则必须进行判空处理!

不然就容易出问题,例如对 nil 进行运算符操作:

local timeStamp = os.time({year = 1900, month = 8, day = 8})
local diffTimeStamp = os.time() - timeStamp
-- 报错:attempt to perform arithmetic on local 'timeStamp' (a nil value)

相关文章:

  • 用BAT和VBS搜集AD中的客户PC资料
  • Lua string.format() 使用整理
  • 一个成功创业者的心得
  • Lua实战之以非科学记数法输出小数
  • SVN服务器的搭建与使用
  • 犹太人常说的理财故事
  • SVN设置强制注释才能提交
  • 35岁前成功的12条黄金法则
  • SVN比较两个文件差异
  • 李嘉诚传给年青人的人生忠告
  • 2021-1024程序员节
  • 成就富翁:赚钱八大定律
  • 安卓系统管理软件_【安卓软件】玩机必备综合型系统管理工具
  • 职业营销人的成长揭秘
  • 为什么Android项目mainactivity中有一个变量R_【Android 原创】日常破解从XCTF的app3题目简单了解安卓备份文件以及sqliteCipher加密数据库...
  • eclipse(luna)创建web工程
  • Flex布局到底解决了什么问题
  • jdbc就是这么简单
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • SpiderData 2019年2月23日 DApp数据排行榜
  • vue学习系列(二)vue-cli
  • 复杂数据处理
  • 关于springcloud Gateway中的限流
  • 基于游标的分页接口实现
  • 我是如何设计 Upload 上传组件的
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • - 转 Ext2.0 form使用实例
  • ​ArcGIS Pro 如何批量删除字段
  • ​Python 3 新特性:类型注解
  • ​比特币大跌的 2 个原因
  • ​第20课 在Android Native开发中加入新的C++类
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • # C++之functional库用法整理
  • #define、const、typedef的差别
  • #QT(串口助手-界面)
  • (007)XHTML文档之标题——h1~h6
  • (6)设计一个TimeMap
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (蓝桥杯每日一题)love
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转载)从 Java 代码到 Java 堆
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .net 4.0发布后不能正常显示图片问题
  • .net core 6 redis操作类
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .NET Micro Framework初体验(二)
  • .net 后台导出excel ,word
  • .net 验证控件和javaScript的冲突问题
  • .NET多线程执行函数