lua中关于时间的总结

原创 2016年08月30日 11:57:57

在项目的开发过程中,难免会对时间进行处理,下面对关于时间的知识进行总结一下:
1.lua中自带的os库
os.time ([table]) 函数按table的内容返回一个时间值(数字),若不带参数则返回当前时间table的字段

print(os.time());   --得到当前的时间
-->1249887340
print(os.time({year=1970, month=1, day=1, hour=0}));
-->10500

os.date ([format [, time]])
功能:返回一个按format格式化日期、时间的字串或表
若设置time参数,则按time指定的时间格式化,否则按当前时间格式化

参数format::
“!”:按格林尼治时间进行格式化。
  “*t”:将返一个带year(4位),month(1-12), day (1–31), hour (0-23), min (0-59), sec (0-61), wday (星期几, 星期天为1), yday (年内天数), and isdst (是否为日光节约时间true/false)的带键名的表; 若没有”*t”则返回一个按C的strftime函数格式化的字符串
若不带参数,则按当前系统的设置返回格式化的字符串 os.date() <=> os.date(“%c”)

t = os.date("*t", os.time()); --得到的是当前的时间,第二个参数默认也是当前的时间
for i, v in pairs(t) do
      print(i, v);
end
--最后得到年月日等数据,

对于其它的格式字符串,os.date会将日期格式化为一个字符串

print(os.date("today is %A, in %B"))      -->today is Tuesday, in May
print(os.date("%x", 906000490))           -->09/16/1998

所有格式化字符串:
%a 一星期中天数的简写 (Wed)
%A 一星期中天数的全称 (Wednesday)
%b 月份的简写 (Sep)
%B 月份的全称 (September)
%c 日期和时间 (09/16/98 23:48:10)
%d 一个月中的第几天 (16)[0 ~ 31]
%H 24小时制中的小时数 (23)[00 ~ 23]
%I 12小时制中的小时数 (11)[01 ~ 12]
%j 一年中的第几天 (259)[01 ~ 366]
%M 分钟数 (48)[00 ~ 59]
%m 月份数 (09)[01 ~ 12]
%P “上午(am)” 或 “下午(pm)” (pm)
%S 秒数 (10)[00 ~ 59]
%w 一星期中的第几天 (3)[0 ~ 6 = 星期天 ~ 星期六]
%W  一年中的第几个星期        0 ~ 52
%x 日期 (09/16/98)
%X 时间 (23:48:10)
%y 两位数的年份 (90)[00 ~ 99]
%Y 完整的年份 (2009)
%% 字符串’%’

根据计算机时间得到当前时间

function gettimeDateStr(time)  --time是一个具体存在的时间
    local t = os.date("*t", time )
    return string.format("%.4d年%.2d月%.2d日", t.year, t.month, t.day) --返回年月日
    return string.format("%.2d月%.2d日%.2d:%.2d", t.month, t.day, t.hour, t.min)  --返回月日时等
end

倒计时函数(根据计算机时间看出还剩多少时间)

function getLeftTime(leftTime)   --倒计时的计算机时间
    local leftStr = ""
    if leftTime > 0 then  
        if leftTime < 60 then
            leftStr = leftTime .. "秒"
        else
            if leftTime % 60 > 0 then
                leftStr = (leftTime % 60) .. "秒"
            end
            leftTime = math.floor(leftTime / 60)
            if leftTime < 60 then
                leftStr = leftTime .. "分" .. leftStr
            else
                if leftTime % 60 > 0 then
                    leftStr = (leftTime % 60) .. "分"
                end
                leftTime = math.floor(leftTime / 60)
                if leftTime < 24 then
                    leftStr = leftTime .. "小时" .. leftStr
                else
                    if leftTime % 24 > 0 then
                        leftStr = (leftTime % 24) .. "小时"
                    end
                    leftStr = math.floor(leftTime / 24) .. "天" .. leftStr
                end
            end
        end
    end
    return leftStr
end
版权声明:本文为博主原创文章,未经博主允许不得转载。

os.clock()获取lua代码运行时间

转自:原文链接请点击连接查看原文,尊重楼主版权。 os.clock():获取lua代码运行时间 解释:返回一个程序使用CPU时间的一个近似值。 -- 记录开始时间 local startti...
  • qq_33337811
  • qq_33337811
  • 2017年05月16日 16:14
  • 1824

时间处理_Lua语言

lua使用标准的c编写成的,所以lua具有很多c的共同性,比如占位符的使用,以及打出方式都是很一样1.如果有个为number或者是java传入的数字类型,那么如何转换为你需要使用的格式呢 ,后面参数的...
  • ONLYMETAGAIN
  • ONLYMETAGAIN
  • 2016年08月05日 14:24
  • 1197

Lua获取网络时间

作者:ani_di  版权所有,转载务必保留此链接 http://blog.csdn.net/ani_di Lua获取网络时间 网络授时服务是一些网络上的时间服务器提供的时间,一般用于本...
  • ani_di
  • ani_di
  • 2013年07月14日 13:32
  • 3897

lua时间函数操作和对比代码,os.date() os.time()

lua时间函数操作和对比代码,os.date() os.time() 2015-04-27 20:33 1163人阅读 评论(0) 收藏 举报  分类: Lua(1)  ...
  • w111y24
  • w111y24
  • 2016年08月18日 22:30
  • 1201

ngx lua获取时间戳的几种方式

在ngx_lua里,获取时间相关信息的方式大概有4种(见下面代码):print(string.format("%s, %s, %s, %s", ngx.time(), os.time(), os.cl...
  • ljfrocky
  • ljfrocky
  • 2017年02月14日 14:58
  • 5386

lua语言中与时间相关的函数总结

本人总结了一些lua语言中一些时间函数,欢迎补充! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1、os.time() 含义:获取当前的时间戳(返回的是从1970...
  • JIEJINQUANIL
  • JIEJINQUANIL
  • 2015年11月01日 21:10
  • 946

Lua时间转化 秒转换为日期

function common:second2DateString(second, withSecond) local hms = Split(FxGameMaths:formatSecondsTo...
  • W_han__
  • W_han__
  • 2016年10月17日 15:26
  • 3706

lua中的时区与时间

lua中的时间库 一、时间的三种格式 1、用数值表示时间值 (时间戳) 用数字值来表示时间值, 实际上时间值的本质就是一个数字值。 例如: d = 1131286477  这里的 113128647...
  • qq_33337811
  • qq_33337811
  • 2017年04月05日 19:14
  • 2607

【Lua游戏开发】os库-时间函数

一、时间的三种格式 1、用数值表示时间值  用数字值来表示时间值, 实际上时间值的本质就是一个数字值。 例如: d = 1131286477  这里的 11312864...
  • ybhjx
  • ybhjx
  • 2017年01月17日 09:54
  • 850

lua 获取时间的 os.date时区问题 需要注意的

本文转载自http://my.oschina.net/u/146011/blog/358989 lua 标准库中提供了关于时间的函数os.time()和os.date(),这两个函数使用起来还是有...
  • suntaojiaxin
  • suntaojiaxin
  • 2016年06月30日 19:33
  • 4834
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:lua中关于时间的总结
举报原因:
原因补充:

(最多只允许输入30个字)