zoukankan      html  css  js  c++  java
  • lua工具库penlight--05日期和时间

    创建和显示时间

    Date类提过了简洁的使用date和time的方法。它依赖于os.date和os.time。
    Date对象可以通过table创建,如果os.date,同时提过了获取和设置date
    成员变量的元方法。
    > d = Date {year = 2011, month = 3, day = 2 }
    > = d
    2011-03-02 12:00:00
    > = d:month(),d:year(),d:day()
     3    2011    2
    > d:month(4)
    > = d
    2011-04-02 12:00:00
    > d:add {day=1}
    > = d
    2011-04-03 12:00:00
     
    add函数可以把具有相同date域的表相加。
    > = d:weekday_name()
    Sun
    > = d:last_day()
    2011-04-30 12:00:00
    > = d:month_name(true)
    April
     
    Date提供了默认的文本转date对象的方法,不过使用Date.Format你可以更加自由
    的控制格式和解释及显示。
    > iso = Date.Format 'yyyy-mm-dd'
    > d = iso:parse '2010-04-10'
    > amer = Date.Format 'mm/dd/yyyy'
    > = amer:tostring(d)
    04/10/2010
     
    从0.9.7版开始,Date的构造函数更加自由。你可以省略year'、‘month’或‘day'的
    任意部分。
    > = Date { year = 2008 }
    2008-01-01 12:00:00
    > = Date { month = 3 }
    2011-03-01 12:00:00
    > = Date { day = 20 }
    2011-10-20 12:00:00
    > = Date { hour = 14, min = 30 }
    2011-10-13 14:30:00
     
    省略'year'则默认使用当前年,'month'也是如此。如果想设置date里的属性,可以使用‘setter’
    方法,setter会返回date对象,这样你可以链式调用。
    > d = Date { day = 03 }
    > = d:hour(18):min(30)
    2011-10-03 18:30:00
     
    最后,Date允许位置参数:
    > = Date(2011,10,3)
    2011-10-03 12:00:00
    > = Date(2011,10,3,18,30,23)
    2011-10-03 18:30:23
     
    Date.Format已经扩展了,你不需要模式就可以创建它的实例,它会尝试用内置的几套规则。
    这对用户来说很有用,他们输入一般都不规则。
    > df = Date.Format()
    > = df:parse '5.30pm'
    2011-10-13 17:30:00
    > = df:parse '1730'
     nil     day out of range: 1730 is not between 1 and 31
    > = df:parse '17.30'
    2011-10-13 17:30:00
    > = df:parse 'mar'
    2011-03-01 12:00:00
    > = df:parse '3 March'
    2011-03-03 12:00:00
    > = df:parse '15 March'
     2011-03-15 12:00:00
    > = df:parse '15 March 2008'
    2008-03-15 12:00:00
    > = df:parse '15 March 2008 1.30pm'
    2008-03-15 13:30:00
    > = df:parse '2008-10-03 15:30:23'
    2008-10-03 15:30:23
     
    处理不同国家的日期时,格式化为ISO格式的日期是个好想法。
     > = df:parse '24/02/12'
    2012-02-24 12:00:00
     
    但这不是美国人期望的,你可以让它的输出期望的格式,而且是跨平台的。
    > df:US_order(true)
    > = df:parse '9/11/01'
    2001-11-09 12:00:00
     
     
     
  • 相关阅读:
    验证码
    九九乘法表
    P121 6.7 第一题和第二题
    二分搜索法(转载自vanezkw)
    用for循环打印菱形
    用while循环语句计算1!+2!+……20!之和
    数的阶乘之和
    9.29
    doGet与doPost的区别
    JavaScript习题
  • 原文地址:https://www.cnblogs.com/xdao/p/lua_penlight05.html
Copyright © 2011-2022 走看看