lua语言:时间
转载请注明来源:https://www.cnblogs.com/hookjc/
时间库函数
1、用数值表示时间值
用数字值来表示时间值,
实际上时间值的本质就是一个数字值。
例如:
d = 1131286477
这里的 1131286477 是一个以秒为单位的 格林威志时间(gmt),注意不同时区的时差
2、用字符串表示时间
用字符串来来表示时间。
例如:
d = "2005-11-06 22:18:30" --2005年11月6日 22点18分30秒
d = "11/06/2005 22:18:30" --即2005年11月6日 22点18分30秒
3、时间的列表格式
用table对象来表示时间
例如:
d = {year=2005, month=11, day=6, hour=22,min=18,sec=30,isdst=false}
--同样表示2005年11月6日 22点18分30秒,其中isdst=false表示不使用夏令时
我们可以这样访问时间列表 d.year = 2005;
二、取得数值(number)格式的时间值
time = os.time()
返回一个标准的number(数值)格式的时间值,这也是最原始的时间值
os.time()返回的时间是以秒为单位的。
1、获取当前时间数值
time = os.time();
--如果没有指定任何参数,则返回当前时间
2、通过table参数指定时间,获取指定的时间数值
time = os.time(tab);
通过一个table参数,指定一个时间,返回时间的数值格式.
例如:
--year表示年,month表示月,day表示日期,hour表示小时,min表示分钟,sec表示秒,isdst表示是否夏令时
time = os.time(tab) -->返回值为1131286710
三、取得列表(table)格式的时间
tab = os.date("*t",time)
可以将一个数值格式的时间转换为字符串或者列表
其中第一个参数指定返回的格式,如果第一个参数指定为"*t" 则返回一个table格式的时间。
第二个参数指定一个时间数值(以秒为单位)
1、获取当前时间的table格式
tab = os.date("*t")
如果不指定os.date的第二个参数,则返回当前时间的table表示格式
2、通过时间数值,获取指定时间的table格式
tab = os.date("*t", time)
通过os.date函数的第二个参数指定一个时间数值。
例如:
--返回值 tab 的数据 {year=2005, month=11, day=6, hour=22,min=18,sec=30}
--year表示年,month表示月,day表示日期,hour表示小时,min表示分钟,sec表示秒,isdst表示是否夏令时
--tab成包括一些其他的成员 tab.yday 表示一年中的第几天 tab.wday 表示星期几(星期天为1)
time = os.time(tab) -->返回值为1131286710
四、取得时间的字符串(string)格式
tab = os.date(format,time)
实际上与取得table格式的时间一样,同样是使用os.date参数,不同的是第一个参数
如果第一个参数不是"*t" os.date返回字符串
关于format参数使用的格式化语法,请参考:string.ftime格式化语法os.date 的用法与 string.ftime 完全相同
例如:
print( os.date("today is %A, in %B") )
print( os.date("%x", 906000490) )
--输出类似这样的字符串 09/16/1998
1、获取当前时间的字符串(string)格式
如果不指定os.date的第二个参数,则返回当前时间的table表示格式
例如:
str= os.date("*x")
2、通过时间数值,获取指定时间的(string)格式
通过os.date函数的第二个参数指定一个时间数值。
例如:
str= os.date("*x",1131286710)
3、获取时间的指定部份的(string)格式
例如:
str = os.date("%M") --返回当前时间分钟部份的字符串格式
五、时间数值与字符串之间的转换
请参考:string.time string.ftime 函数用法
六、计算时间值间隔
int = os.difftime(t2,t1);
t2,t1都是数值格式的时间值,返回值也是一个数值表示间隔的时间。
参数以及返回的时间值都是以秒为单位的数值格式。
local tab = {year=2005, month=11, day=6, hour=22,min=18,sec=30,isdst=false}
t1 = os.time(tab)
tab.day = tab.day +1;--前进一天
t2 = os.time(tab)
int = os.difftime(t2,t1);
win.messageBox(int.."秒","时间差"
七、系统时钟
int = os.tick();
读取系统时钟,以毫秒为单位。表示从系统启动到当前时刻所过去的毫秒数。
int = os.clock()
读取系统时钟,以秒为单位。表示从系统启动到当前时刻所过去的秒数。
因为内部实现的差异,os.tick 与 os.clock()的返回值并不完全一致。
来源:python脚本自动迁移
lua语言:时间的更多相关文章
- 51CTO专访淘宝清无:漫谈Nginx服务器与Lua语言
http://os.51cto.com/art/201112/307610.htm 说到Web服务器,也许你第一时间会想到Apache,也许你会想到Nginx.虽然说Apache依然是Web服务器的老 ...
- 【quick-cocos2d-x】Lua 语言基础
版权声明:本文为博主原创文章,转载请注明出处. 使用quick-x开发游戏有两年时间了,quick-x是cocos2d-Lua的一个豪华升级版的框架,使用Lua编程.相比于C++,lua的开发确实快速 ...
- Lua语言中文手册 转载自网络
Programming in LuaCopyright ® 2005, Translation Team, www.luachina.net Programming in LuaProgramming ...
- 用VC编译lua源码,生成lua语言的解释器和编译器
用VC编译lua源码,生成lua语言的解释器和编译器 1.去网址下载源码 http://www.lua.org/download.html 2.装一个VC++,我用的是VC6.0 3.接下来我们开始编 ...
- lua语言入门之Sublime Text设置lua的Build System
转自: http://blog.csdn.net/wangbin_jxust/article/details/8911956 最近开始学习LUA语言,使用Sublime Text作为编辑器,不得不说, ...
- 编译并使用Lua语言
Lua是一个小巧的脚本语言,该语言设计的目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. 可扩展性.Lua的扩展性非常卓越,可以通过Lua代码或C代码扩展,很多功能可以通过外部库来扩 ...
- Lua语言在Wireshark中使用(转)
1. 检查Wireshark的版本是否支持Lua 打开Wireshark,点击“HelpàAbout Wireshark”菜单,查看弹出的对话框,如果有“with Lua 5.1”表示支持 ...
- Unity进阶----Lua语言知识点(2018/11/08)
国内开发: 敏捷开发: 集中精力加班堆出来第一个版本 基本没啥大的bug 国外开发: 1).需求分析: 2).讨论 3).分模块 4).框架 5).画UML图(类图class function)(e- ...
- lua语言自学知识点----Lua与.Net相互调用
知识点: LuaInterface作用是用来完成Lua与C#的相互调用. LuaInterface核心库:1.luainterface.dll 用于C#读取lua(放在bin目录同级) 2.luane ...
- lua 语言笔记
Lua语言基础汇总(1) -- 类型与值 基础介绍 Lua是一种动态类型的语言.在语言中没有类型定义的语法,每个值都带有其自身的类型信息.在Lua中有8种基本类型,分别是: nil(空)类型 bool ...
随机推荐
- CapstoneCS5212|DP to VGA|CS5212设计电路方案
CS5212功能概述 CS5212是一款DisplayPort端口到VGA转换器,它结合了DisplayPort输入接口和模拟RGB DAC输出接口.嵌入式单片机基于工业标准8051核心. CS521 ...
- Python的面向对象常见概念解析
[常见概念简介] 类(class)-- 用来描述某些具有相同属性和方法的对象的集合.格式如下 class test(): class_variable ... def f(self,*arg,**ar ...
- Java常用的几种设计模式
本来想写点spring相关的东西的,想来想去,先写点设计模式的东西吧 什么是设计模式?套用百度百科的话解释吧 设计模式(Design Pattern)是一套被反复使用.多数人知晓的.经过分类的.代码设 ...
- CSS基础 transform属性的基本使用 移动 旋转 缩放
1.实现元素位移效果 语法:transform:translate(x轴水平移动距离,Y轴垂直移动距离) 取值:正负都可以 取值方式:数字+px 百分比 :参照自己本的盒子的百分比 比如:本身自己的宽 ...
- 适配器模式(pthon)
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # adapter_pattern.py # 适配器模式 class Adaptee: def reque ...
- Nginx 防爬虫设置
在conf下 vi 一个文件agent_deny.conf 添加如下内容 #禁止Scrapy|curl等工具的抓取 if ($http_user_agent ~* (Scrapy|Curl|Http ...
- zabbix监控图形中文乱码的解决方法
问题描述: 最近搭建了一套zabbix,当我把语言切换到中文的时候,发现监控的图形界面中一些中文参数乱码,但是图形界面在英文环境下完全没有乱码问题.如下图(中文界面): 解决方法: 解决方法有两种,方 ...
- jquery 的 ajax 传输 数组 ,但后台无法获取的 原因 与 解决 办法
1.前言 js传输数组到服务器 ,controller无法解析 ,打印结果是 null 2.原因 jQuery会调用jQuery.param序列化参数,源码是 jQuery.param( obj, t ...
- HTTP 408 问题 - Koa body parser
环境描述: 1.nodejs 作为 api 服务器,转发请求给 nginx 2.用 curl 测试,返回 408 找了很久没有找到原因,发现了一篇文章: https://lujunda.cn/2016 ...
- 虚拟机上CentOS7网络配置
如果图片损坏:点击链接:https://www.toutiao.com/i6493449418249863693/ 设置网络 首先打开虚拟网络编辑器 权限打开 选择NAT模式,设置IP 应用确定之后, ...