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
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