Ruby基础知识-常用对象

不同于C#中的DateTime,在ruby中日期和时间分别对应了Date和Time两个类。

1.1    日期

require "date"

date = Date.new(2013,5,28)

date = date-1    #昨天

date = date >> 1 #下月

puts date.leap?  #闰年判断

puts date.to_s

puts "%s_%s_%s" % [date.year, date.month, date.day]

1.2    时间

require "date"

time = Time.now.strftime("%Y-%m-%d %H:%M:%S")

puts time

time = Time.now  #等同Time.new

time = time+5    #加5分钟

puts time

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: 时区

%%: 显示%符号自身

1.3    随机数

r = Random.new()

puts r.rand

puts r.rand(10..100)

1.4    正则表达式

正则表达式使使用/pat/或%r{pat}表示,返回匹配到的字符串。

操作符=~也可以用于正则匹配,返回匹配到的字符串索引,该匹配为双向匹配。

puts /hay/.match("ahaystack")   #hay

puts /ahaystack/.match("hay")   #nil

puts /hay/ =~ 'ahaystack'       #=> 1

puts 'ahaystack' =~ /hay/       #=> 1

a = "HELLO"

case a

  when /^[a-z]*$/; print "Lower case\n"

  when /^[A-Z]*$/; print "Upper case\n"

  else;            print "Mixed case\n"

end

posted @ 2013-05-28 14:53  swzhou  阅读(179)  评论(0编辑  收藏  举报