lua中關於時間的總結

2021-07-22 05:51:58 字數 2794 閱讀 5623

在專案的開發過程中,難免會對時間進行處理,下面對關於時間的知識進行總結一下:

1.lua中自帶的os庫

os.time ([table]) 函式按table的內容返回乙個時間值(數字),若不帶引數則返回當前時間table的字段

-->1249887340

print(os.time());

-->10500

os.date ([format [, time]])

功能:返回乙個按format格式化日期、時間的字串或表

若設定time引數,則按time指定的時間格式化,否則按當前時間格式化

引數format::

「!」:按格林尼治時間進行格式化。

「*t」:將返乙個帶year(4位),month(1-12), day (1–31), hour (0-23), min (0-59), sec (0-61), wday (星期幾, 星期天為1), yday (年內天數), and isdst (是否為日光節約時間true/false)的帶鍵名的表; 若沒有」*t」則返回乙個按c的strftime函式格式化的字串

若不帶引數,則按當前系統的設定返回格式化的字串 os.date() <=> os.date(「%c」)

t = os.date("*t", os.time()); --得到的是當前的時間,第二個引數預設也是當前的時間

for i, v in

pairs(t) do

print(i, v);

end--最後得到年月日等資料,

對於其它的格式字串,os.date會將日期格式化為乙個字串

print(os.date("today is %a, in %b"))      -->today is tuesday, in may

print(os.date("%x", 906000490)) -->09/16/1998

所有格式化字串:

%a 一星期中天數的簡寫 (wed)

%a 一星期中天數的全稱 (wednesday)

%b 月份的簡寫 (sep)

%b 月份的全稱 (september)

%c 日期和時間 (09/16/98 23:48:10)

%d 乙個月中的第幾天 (16)[0 ~ 31]

%h 24小時制中的小時數 (23)[00 ~ 23]

%i 12小時制中的小時數 (11)[01 ~ 12]

%j 一年中的第幾天 (259)[01 ~ 366]

%m 分鐘數 (48)[00 ~ 59]

%m 月份數 (09)[01 ~ 12]

%p 「上午(am)」 或 「下午(pm)」 (pm)

%s 秒數 (10)[00 ~ 59]

%w 一星期中的第幾天 (3)[0 ~ 6 = 星期天 ~ 星期六]

%w  一年中的第幾個星期        0 ~ 52

%x 日期 (09/16/98)

%x 時間 (23:48:10)

%y 兩位數的年份 (90)[00 ~ 99]

%y 完整的年份 (2009)

%% 字串』%』

根據計算機時間得到當前時間

local t = os.date("*t", time )

return

string.format("%.4d年%.2d月%.2d日", t.year, t.month, t.day) --返回年月日

return

string.format("%.2d月%.2d日%.2d:%.2d", t.month, t.day, t.hour, t.min) --返回月日時等

end倒計時函式(根據計算機時間看出還剩多少時間)

function

getlefttime(lefttime) --倒計時的計算機時間

local leftstr = ""

if lefttime > 0

then

if lefttime < 60

then

leftstr = lefttime .. "秒"

else

if lefttime % 60 > 0

then

leftstr = (lefttime % 60) .. "秒"

end lefttime = math.floor(lefttime / 60)

if lefttime < 60

then

leftstr = lefttime .. "分" .. leftstr

else

if lefttime % 60 > 0

then

leftstr = (lefttime % 60) .. "分"

end lefttime = math.floor(lefttime / 60)

if lefttime < 24

then

leftstr = lefttime .. "小時" .. leftstr

else

if lefttime % 24 > 0

then

leftstr = (lefttime % 24) .. "小時"

end leftstr = math.floor(lefttime / 24) .. "天" .. leftstr

endend

endend

return leftstr

end

Lua中的時間戳

實現的功能 獲取mac os系統的毫秒數 獲取秒數 秒數 毫秒數與日期格式的轉換 知識點 用lua自帶的函式os.time 獲取秒數 lua自帶的函式只能獲取到秒,要獲取到毫秒,需使用lzmq.timer,或者是socket 兩個都需要使用luarocks安裝 os.clock返回乙個程式使用cpu...

Angular中關於時間的操作總結

使用new date 可以看見有5種建構函式 console.log new date 當前時間 console.log new date 2015 08 12 12 30 字串 console.log new date 12345679 時間戳 console.log new date 2018,...

SQL中關於時間字段(日期字段)的總結

url 針對ms sql資料庫,一些常用的時間查詢語句,以備不時之需 表名 news 時間欄位名稱 newsdatetime getdate 為獲得系統時間 1.查詢 2000 1 1 and 2008 5 1 期間的所有記錄,降序 select from news where newsdateti...