不同於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表示,返回匹配到的字串。
操作符=~也可以用於正則匹配,返回匹配到的字串索引,該匹配為雙向匹配。
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
Ruby基礎知識 6 類和物件
一 類定義 class account attr accessor number count 0 def initialize number,name,balance number number name name balance balance count count 1 end def acco...
Ruby 基礎知識(一)
聽說ruby的語法非常簡單,於是這幾天就在見識了 看的書是 ruby programing 向ruby之父學程式設計 據稱,ruby也是一種完全物件導向的語言。一些簡單的語法如下 1顯示字串 print hello,ruby n 由於 表示字串的開始與結束,所以如果要顯示 的話,應該在 前加上 如 ...
ruby 基礎知識 二
ruby 中的動態方法 rails 大量使用了符號 symbol 符號看上去很像變數名,不過以冒號作為字首。符號的例子包 括 action line items id 等。可以把符號看作字串文字,不過 如同魔法般地 被變成 了常量。可以把冒號看作 名字叫做 的東西 因此 id 的意思就是 名字叫做i...