论坛首页 编程语言技术论坛

ruby的时间方法总结

浏览 2551 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (4) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-02-23  


取得当前时刻

# 生成一个当前时间的对象
day = Time.now

# 当前时间
p day.to_s    #=> "Tue Feb 23 17:16:03 +0900 2010"
# 年
p day.year    #=> 2010
# 月
p day.month    #=> 2
# 日
p day.day    #=> 23
# 小时
p day.hour    #=> 17
# 分
p day.min    #=> 16
# 秒
p day.sec    #=> 45
# 星期(0为星期日, 1为星期一, ... )
p day.wday    #=> 0
 

 


strftime 方法中可用的格式化符号

%A: 星期的名称(如:Sunday, Monday ... )
%a: 星期的名称缩写(如:Sun, Mon ... )
%B: 月份的名称(如:January, February ... )
%b: 月份的名称缩写(如:Jan, Feb ... )
%c: 日期,时刻(如:02/23/10 16:43:49)
%d: 日(01-31)
%H: 24小时制的时间(00-23)
%I:  12小时制的时间(01-12)
%j:  一年中的通算日(001-366)
%M: 分(00-59)
%m: 月(01-12)
%p: 午前和午后(AM,PM)
%S: 秒(00-60)
%w: 一周的天数,周日(0)开始算起(0-6)
%X: 时刻
%x: 日期
%Y: 表示4位数年份(如:2010)
%y: 表示2位数年份(如:10)
%Z: 时区
%%: 显示%符号自身

Example:
day = Time.now
puts day.strftime("Now, %A %B %d %X %Z %Y")    #=> "Now, Tuesday February 23 17:28:14 北京 (標準時) 2010"
 
 
 当前日期
 
require 'date'
day = Date::new(2010, 2, 23)
p day.to_s    #=> "2010-02-23"
 
 昨天, 前天
require 'date'

day = Date.new(2010, 2, 23)
day = day + 1
p day.to_s    #=> "2010-02-24"

day = Date.new(2010, 2, 23)
day = day - 1
p day.to_s    #=> "2010-02-22"
 
 下月,上月
require 'date'
 
day = Date.new(2010, 2, 23)
day = day >> 1
p day.to_s     #=> "2010-03-23"

day = Date.new(2010, 2, 23)
day = day << 1
p day.to_s     #=> "2010-01-23"
 

 

 闰年
require 'date'
 
day = Date.new(2008)
p day.leap?    #=> true

day = Date.new(2010)
p day.leap?    #=> false
 

  日期的格式化
require 'date'

day = Date::new(2010, 2, 23)
p day.year    #=> 2010
p day.month    #=> 2
p day.day    #=> 23
p day.wday    #=> 2
 
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics