Lua中os庫的使用(execute,date,clock,time)


--更多詳細參考 http://luaer.diandian.com/post/2011-10-09/5660047 --
--更多詳細參考 http://blog.csdn.net/goodai007/article/details/8077285--
local function main()
	print(os.clock()) --
	print(os.time())
	dateTable = os.date("*t") --返回一張時間table表{year,month,day,hour,min,sec}
	print(dateTable.year.."~"..dateTable.month.."~"..dateTable.day.."~"..
		  dateTable.hour.."~"..dateTable.min.."~"..dateTable.sec)
	print("rename and remove~~")
	os.rename("./src/Demo.txt","./Demo.bbb") --os.rename()操作可以移動文件的位置只需要在rename時,重新配置路徑就可以了
	os.remove("./Demo.bbb")  --刪除文件
	--執行命令
	os.execute("mkdir vokie123") --創建文件夾
	os.execute("ls")
	os.execute("dir")
	os.execute("pause")
	os.exit() --停止Lua的主線程
end

main()

輸出結果:

0.046
1385609104
2013~11~28~11~25~4
rename and remove~~
src
vokie123
 驅動器 D 中的卷是 SOFTWARE
 卷的序列號是 8236-DBD6


 D:\luaDev\Test2 的目錄


2013-11-28  10:26    <DIR>          .
2013-11-28  10:26    <DIR>          ..
2013-11-28  10:26               382 .project
2013-11-28  10:26    <DIR>          src
2013-11-28  10:26               213 .buildpath
2013-11-28  11:25    <DIR>          vokie123
               2 個文件            595 字節
               4 個目錄 67,707,273,216 可用字節
請按任意鍵繼續. . . 


date格式format小記:

 

例如:
t = os.date("*t", os.time());
for i, v in pairs(t) do
      print(i, v);
end

輸出:
hour  14
min   58
wday  2
day   10
month  8
year  2009
sec   18
yday  222
isdst  false

對於其它的格式字符串,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)
%%      字符串'%'

 

時間戳轉日期,日期轉時間戳的幾個小函數:

 1 function daysDifference(min_timestamp, max_timestamp)
 2     local temp = nil
 3     if max_timestamp < min_timestamp then
 4         temp = min_timestamp
 5         min_timestamp = max_timestamp
 6         max_timestamp = temp
 7     end
 8 
 9     local min_days = checkint(min_timestamp / 86400)
10     local max_days = checkint(max_timestamp / 86400)
11     return (max_days - min_days)
12 end
13 
14 function timeStampConvertToDate(timestamp)
15     date_string = string.format(os.date("%x",timestamp))
16     local date_table = {}
17     local t = string.split(date_string, "/")
18     date_table.YEAR = checkint(t[3])
19     date_table.MONTH = checkint(t[1])
20     date_table.DAY = checkint(t[2])
21     print("YEAR,MONTH,DAY = "..date_table.YEAR..","..date_table.MONTH..","..date_table.DAY)
22     return date_table
23 end
24 
25 
26 --date_t 格式要求:
27 --local date_t = {year=2005, month=11, day=6, hour=22,min=18,sec=30,isdst=false}
28 --isdst表示是否夏令時 
29 function DateConvertToTimeStamp(date_t)
30     return os.time(date_t)
31 end

 





 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM