1. Time.new / Time.now 获取当前日期和时间
2. mktime / local (使用本地时区) : 根据传递给它的参数创建一个新的Time对象。传递的时间单位是按由长到短的顺序指定:年、月、日、小时(0~23)、分钟、秒、微妙。除了年以外其它可选。默认值是可能的最小值。
Time.mktime(2008) #2008.1.1 0:00:00
Time.mktime(2008,10,15,10,20,20) # 2008.10.15 10:20:20
Time.local(2008,10,15,10,20,20) # 2008.10.15 10:20:20
gm / utc(采用GMT或UTC) :
Time.local(2008,10,15,10,20,20) # 2008.10.15 10:20:20 +0800
Time.gm(2008,10,15,10,20,20) # 2008.10.15 10:20:20 UTC
3. to_a : 将时间转换为相关值的数组,从下标0-9依次为:秒(sec),分钟(min),小时(hour),日期(day/mday),月(mon/month),年(year),星期几(wday)(0..6),一年中的第几天(yday),是否为夏令时间(true或false)和时区(zone)(用字符串表示)。
t = Time.local(2008,10,15,10,20,20)
puts t.to_a #[20,20,10,15,10,2008,3,289,false,'中国标准时间']
4. wday: 返回一星期中的第几天(0表示周日)。
yday: 返回一年中的第几天。
mday: 返回一个月中第几天。
5. Time.at : 根据从纪元(1 Jan 1970 GMT)开始的秒数创建新的时间。
6. 在特定时间上增加间隔来获取新的时间,间隔的单位为秒。
t = Time.local(2008,10,15,10,20,20)
t1 = t + 60 # t往后1分钟
t2 = t + 3600 # t往后1小时
如果要获取两个时间的间隔,将两个Time对象相减将得到秒数。如上面
t1 - t # 60
7. 日期和时间值得格式化输出: strftime.
该方法能够识别的常用指令有:
- %a :星期中天数的缩写,如 "Sun"
- %A :完整的星期中天数,如 "Sunday"
- %b :月名称的缩写,如 "Jan"
- %B :完整的月名称,如 "January"
- %d :一个月中第几天(01..31)
- %H :以24小时制表示的时间(00..23)
- %I :以12小时制表示的时间(1..12)
- %m :月份(1..12)
- %M :分钟(00..59)
- %p : AM 或 PM
- %S :秒(00..59)
- %w:一星期中的第几天(星期日为0)
- %x :只显示日期,不显示时间
- %X :只显示时间,不显示日期,以 HH:MM:SS的格式
- %y :两位表示的年份
- %Y :四位的年份
- %Z :时区
在web页面中通常需要将日期以中文的形式表示出来,可以使用如下的方式:
t = Time.now
t.strftime("%Y年%m月%d日 %H时%M分%S秒") #XXXX年XX月XX日 XX时XX分XX秒