lua中對時間的操作
阿新 • • 發佈:2019-02-09
格式 | 含義 | 具體示列 |
%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