lua中对时间的操作

android和lua中对时间的操作
lua中对时间的操作
前段时间对时间的使用比较多,这边做下笔记

lua中对时间的使用

格式 含义 具体示列
%a 一星期中天数的简写 (Mon = 1,Tue = 2,Wed =3,Thu = 4,Fri =5,Sat =6,Sun =7)
%A 一星期中天数的全称 (Monday Tuesday Wednesday Thursday Friday Saturday Sunday)
%b 月份的简写 January February March April May June July August September October November December  
%B 月份的全称 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
%c 日期和时间 Sat Dec 23 18:20:17 2017 (2017年12月23号周六18点20分17秒)
%d 一个月中的第几天 (0-31)
%H 24小时制中的小时数 (0-23)
%I 12小时制中的小时数 (0-12)
%j 一年中的第几天 (1-366)
%m 月份数 (0-12)
%M 分钟数 (0-59)
%P 上午或下午 (am-pm)
%S 一分钟之内秒数 (0-59)
%w 一星期中的第几天 (0 - 6 = 星期天 - 星期六)
%W 一年中的第几个星期 (0-52)
%x 日期 12/23/17 (2017年12月13号)
%X 时间 18:20:17(18点20分17秒)
%y 两位数的年份 (00-99)
%Y 完整的年份 (2017)

使用方法os.date("格式符")

获取当前时间的时间戳,注意这边都是简写
os.time({year=年,month=月,day=日, hour=时, min=分, sec=秒})

获取当前的时间戳
os.time()

获取指定时间戳的年月日时分秒信息
 local time = os.date("*t",时间戳)
 time.yday 当前时间是一年中的第几天
 年 月 日 时 分 秒
 time.year  time.month  time.day time.hour time.min time.sec

获取当前年的天数

local function Days(year)
        --判断是否闰年,如果闰年,返回366天,如果不是闰年,返回365天
        return ((year%4==0 and year%100 ~=0) or year%400==0) and 366 or 365
end
获取标准时间的时间戳
function getYMDHMSFromString(startTime) --2012-01-01 08:00:00
    print("getYMDHMSFromString =" ..tostring(startTime))
    if startTime == nil then return end
    local strLen = string.len("0000-00-00 00:00:00")
    local startTimeLen = string.len(startTime)
    if strLen ~= startTimeLen then return end
    local a = string.split(startTime," ")
    local b = string.split(a[1],"-")
    local c = string.split(a[2],":")
    return b[1],b[2],b[3],c[1],c[2],c[3]
end
获取给定时间是第几周
function getNowWeek()
    local weekdayS = os.date("%a") --os.date("%a",给定的时间戳)
    local tableWeekS = {Mon = 1,Tue = 2,Wed =3,Thu = 4,Fri =5,Sat =6,Sun =7 }
    local tableWeekStr = {"一","二","三","四","五","六","日" }
    local currentWeekS = tableWeekS[weekdayS]
    return currentWeekS
end



















你可能感兴趣的:(lua中对时间的操作)