Lua程式設計 十七)

2021-09-03 02:12:00 字數 969 閱讀 2642

lua標準庫提供了兩種用於操作日期和時間的函式。os.time和os.date.

lua語言針對時間和日期也分別有兩種表達方式。第一種表達方式是乙個數字,這個數字通常上來講是乙個整形數。在posix和windows系統中這個固定日期均是jan 01, 1970, 0:00 utc.

lua語言針對日期和時間提供的第二種表達方式是乙個表,叫做日期表。日期表具有year, month, day, huor, min, sec, wday, yday 和 isdst. wday欄位對應本週第幾天,yday欄位對應當年第幾天,isdst欄位表示布林型別,判別是否使用夏令時。

不帶用任何引數呼叫os.time,將會以數字形式返回當前的日期和時間,利用這個時間我們可以求出對應的年月日等等資訊

local date = os.time()

local day2year = 365.242

local sec2hour = 60 * 60

local sec2day = sec2hour * 24

local sec2year = sce2day * day2year

print (date // sec2year + 1970) -- year

print (date % sec2day // sec2hour) -- hour

print (date % sec2hour // 60) -- minute

print (date % 60) -- second

如果以乙個日期表作為引數呼叫os.time,那麼該函式會返回表中所描述日期和時間對應的數字。

函式os.date在一定程度上可以理解為os.time的反函式,它可以將乙個表示日期和時間的數字轉換為某些高階的表示形式,要麼是日期表要麼是字串。該函式的第乙個引數描述期望的格式化字串,第二個引數則是數字形式的日期和時間。

如果格式haul字串以嘆號開頭,那麼函式os.date會以utc格式對其進行解析

Lua程式設計(六十七)

協程的乙個經典問題就是生產者 消費者問題。在生產者 消費者問題中涉及兩個函式,乙個函式不斷地產生值 比如,從乙個檔案中讀取 另乙個函式不斷地消費這些值 比如,將值寫入另乙個檔案中 function producer while true do local x io.read send x enden...

Lua(十七) 物件導向

lua並不是乙個支援物件導向的語言,沒有類的概念,但是可以間接地去實現物件導向的功能 物件是由屬性 方法組成,lua中最基本的結構是table,我們可以用table來描述物件的屬性,function函式用來表示方法,所以lua中的物件導向是通過table function模擬出來的 下面是lua模擬...

Lua程式設計(三)

通過昨天用lua程式語言解決八皇后問題,我對於lua語言的程式編寫有了大致的了解。今天開始了解lua的數值相關概念。在lua5.3中為數值格式提供了兩種選擇 一種為64位的integer型別,另一種則是雙精度的float型別。如果是資源受限的平台,如微控制器等我們可以使用精簡的32位數值格式。lua...