1. 程式人生 > >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