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
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号