2012年12月9日 星期日

ruby 時間方法總結



取得当前时刻
# 生成一个当前时间的对象   
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: 
Ruby代码 
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 

沒有留言:

張貼留言