华东15选5不开奖

Lua教程(十六):系統庫(os庫)

Lua教程(十六):系統庫(os庫),這篇文章主要介紹了Lua教程(十六):系統庫(os庫)本文著重講解了OS庫中的日期和時間操作和其他系統調用兩部份內容,需要的朋友可以參考下
關鍵字:Lua、教程、系統庫、os庫

Lua為了保證高度的可移植性,因此,它的標準庫僅僅提供了非常少的功能,特別是和OS相關的庫。但是Lua還提供了一些擴展庫,比如Posix庫等。對于文件操作而言,該庫僅提供了os.rename函數和os.remove函數。
1. 日期和時間:

在Lua中,函數time和date提供了所有的日期和時間功能。

如果不帶任何參數調用time函數,它將以數字形式返回當前的日期和時間。如果以一個table作為參數,它將返回一個數字,表示該table中所描述的日期和時間。該table的有效字段如下:

print(os.time{year = 1970, month = 1, day = 1, hour = 8, min = 0}) --北京是東八區,所以hour等于時表示UTC的0。

print(os.time())  --輸出當前時間距離1970-1-1 00:00:00所經過的秒數。輸出值為 1333594721

函數date是time的反函數,即可以將time返回的數字值轉換為更高級的可讀格式,其第一個參數是格式化字符串,表示期望的日期返回格式,第二個參數是日期和時間的數字,缺省為當前日期和時間。如:

復制代碼 代碼如下:

dd = os.date("*t",os.time())  --如果格式化字符串為"*t",函數將返回table形式的日期對象。如果為"!*t",則表示為UTC時間格式。
print("year = " .. dd.year)
print("month = " .. dd.month)
print("day = " .. dd.day)
print("weekday = " .. dd.wday)  --一個星期中的第幾天,周日是第一天
print("yearday = " .. dd.yday)  --一年中的第幾天,1月1日是第一天
print("hour = " .. dd.hour)
print("min = " .. dd.min)
print("sec = " .. dd.sec)
   
--[[
year = 2012
month = 4
day = 5
weekday = 5
yearday = 96
hour = 11
min = 13
sec = 44
--]]

    date函數的格式化標識和C運行時庫中的strftime函數的標識完全相同,見下表:

復制代碼 代碼如下:

print(os.date("%Y-%m-%d"))  --輸出2012-04-05

    函數os.clock()返回CPU時間的描述,通常用于計算一段代碼的執行效率。如:
復制代碼 代碼如下:

local x = os.clock()
local s = 0
for i = 1, 10000000 do
    s = s + i
end
print(string.format("elapsed time: %.2f\n", os.clock() - x))

--輸出結果為:
--elapsed time: 0.21

2. 其他系統調用:

    函數os.exit()可中止當前程序的執行。函數os.getenv()可獲取一個環境變量的值。如:
 

復制代碼 代碼如下:

    print(os.getenv("PATH"))  --如果環境變量不存在,返回nil。
    os.execute函數用于執行和操作系統相關的命令,如:
    os.execute("mkdir " .. "hello")

 

华东15选5不开奖
四川金7乐开奖结果金 真人网络捕鱼娱乐城 体彩福建31选7 七乐彩走势图网易 福建时时彩快3开奖结果 重庆百变王牌 做烤蛋糕之类的赚钱吗 中国福利彩票双色球开奖公告 上海福彩中心 75秒极速时时彩开奖号码