• lua基础之时间


    os.date()

    • 原型:os.date ([format [, time]])
    • 解释:返回一个按format格式化日期、时间的字串或表。
    1. 省略time会使用当前时间作为time
    2. 两个参数都省略则按当前系统的设置返回格式化的字符串,做以下等价替换 os.date() <=> os.date(“%c”)
    3. 如果format以 “!” 开头,则按格林尼治时间进行格式化。
    4. 如果format是一个 “t” **,将返一个带year(4位),month(1-12), day (1–31), hour (0-23), min (0-59),sec (0-61),wday (星期几, 星期天为1), yday (年内天数)和isdst (是否为日光节约时间true/false)的带键名的表.
    5. 如果format不是 “t” **,os.date会将日期格式化为一个字符串,具体如下:
    格式符含义具体示例
    %a一星期中天数的简写os.date(“%a”) => Fri
    %A一星期中天数的全称(Wednesday)
    %b月份的简写(Sep)
    %B月份的全称(May)
    %c日期和时间(09/16/98 23:48:10)
    %d一个月中的第几天(28)[0 - 31]
    %H24小时制中的小时数(18)[00 - 23]
    %I12小时制中的小时数(10)[01 - 12]
    %j一年中的第几天(209) [01 - 366]
    %M分钟数(48)[00 - 59]
    %m月份数(09)[01 - 12]
    %P上午或下午(pm)[am - pm]
    %S一分钟之内秒数(10)[00 - 59]
    %w一星期中的第几天(3)[0 - 6 = 星期天 - 星期六]
    %W一年中的第几个星期(2)0 - 52
    %x日期(09/16/98)
    %X时间(23:48:10)
    %y两位数的年份(16)[00 - 99]
    %Y完整的年份(2016)
    %%字符串’%’(%)
    *t返回一个table,里面包含全部的数据hour 14
    • 例子:
    prettyNow = os.date('%A, %B %d %Y at %I:%M:%S %p') => Saturday, January 09 2018 at 12:42:19 AM.
    pretty911 = os.date('%A, %B %d %Y at %H:%M UTC', 1000215960) => Tuesday, September 11 2001 at 13:46 UTC.
    prettyDerived911 = os.date('%A, %B %d %Y at %H:%M UTC', os.time({year=2001, month=9, day=11, hour=13, minute=46})) => Tuesday, September 11 2001 at 13:46 UTC.
    
    • 1
    • 2
    • 3
    os.date('*t') => Returns a {table} representing the current local date / time.
    os.date('!*t') => Returns a {table} representing the current UTC date / time.
    
    • 1
    • 2

    os.time()

    • 原型
      os.time ([table])

    • 描述
      在不带参数的情况下返回当前时间,或者返回表示给定表指定的日期和时间的时间。 此表必须有字段年、月和日,并且可能有字段小时、分钟、秒和 isdst

    year (4 digit year)
    month (month 0-12)
    day (1-31)
    hour (24-hour 0-23)
    min (minute 0-59)
    sec (second 0-59)
    isdst (daylight saving time, boolean true or false)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 例子
    currentLocalTime = os.time(os.date('*t'))
    currentUTCTime = os.time(os.date('!*t'))
    inAnHour = os.time(os.date('*t')) + 3600
    tomorrowSameTime = os.time(os.date('*t')) + 86400
    secondsSince911=os.time(os.date('*!t')) - os.time({year=2001, month=9, day=11, hour=13, minute=46})
    
    • 1
    • 2
    • 3
    • 4
    • 5

    os.clock()

    返回程序使用的 CPU 时间的近似值(以秒为单位),典型用途是基准测试


    os.difftime()

    • 原型
      os.difftime (t2, t1)

    • 描述
      计算以秒为单位的时间差


    os.setlocale

    • 原型
      os.setlocale(locale [, category])

    • 描述
      设置程序的当前区域,函数返回设置以后该项最新的值,如果失败则返回nil。

    -- 首先查询一下初始的区域设置
    print(os.setlocale(nil)) 
    -- 设置成中文简体区域
    print(os.setlocale("chs")) 
    -- 现在只将数字部分设置成中文简体区域
    print(os.setlocale("chs","numeric")) 
    -- 现在将时间部分设置成英文区域
    print(os.setlocale("eng","time")) 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    socket.gettime

    • 原型
      socket.gettime()

    • 描述
      返回以秒为单位的时间,相对于系统纪元(自 1970 年 1 月 1 日起的 Unix 纪元时间 (UTC) 或自 1601 年 1 月 1 日起的 Windows 文件时间 (UTC))。

  • 相关阅读:
    期权基本概念
    行情分析——加密货币市场大盘走势(11.10)
    VSCODE include错误 找不到 stdio.h
    一文了解 Go 方法
    发电机负载测试方案
    谷歌SEO是什么,它对外贸企业有什么好处?
    1.创建项目(wpf视觉项目)
    20-CSS过渡
    【AutoSAR CAN】01 - CAN模块的功能及提供的API
    队列及其Java实现
  • 原文地址:https://blog.csdn.net/a_codecat/article/details/127947388