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秒