• 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:luaDevTest2 的目录


    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





  • 相关阅读:
    anroid scaleType属性对应的效果
    Cannot make a static reference to the non-static method的解决方案
    Java indexOf()的两个用法
    Android关于notification的在不同API下的用法说明
    Android notification的使用介绍
    第九章 虚拟内存管理
    第八章 内存管理
    第四章 线程
    第二章 操作系统结构
    第一章 计算机系统概述
  • 原文地址:https://www.cnblogs.com/vokie/p/3602084.html
Copyright © 2020-2023  润新知