ruby time
2008-07-08 18:01:45| 分类: Ruby | 标签: |字号大中小 订阅
我们可以使用Time类来生成一个当前时间的对象: t=Time.new 或 t=Time.now Time类有类方法mktime(同义方法是local方法)来根据传入的参数生成时间对象,并且它使用的是当前的时区: t1=Time.mktime(2001)#January1,2001at0:00:00 t2=Time.mktime(2001,3) t3=Time.mktime(2001,3,15) t4=Time.mktime(2001,3,15,21) t5=Time.mktime(2001,3,15,21,30) t6=Time.mktime(2001,3,15,21,30,15)#March15,20019:30:15pm Time.gm(同义方法是Time.utc)方法基本上和上面的mktime用法相同,但它使用的是GMT或UTC时区 t8=Time.gm(2001,3,15,21,30,15) t9=Time.utc(2001,3,15,21,30,15) 生成的时间对象有一个to_a方法,可以把时间相关一信息转化成一个数组,数组中存放的信息格式如下: seconds, minutes, hours, day, month, year, dayofweek(0..6), dayofyear(1..366), daylightsaving(trueorfalse), andtimezone(asastring) 因此,我们也可以这么用: t0=Time.local(0,15,3,20,11,1979,2,324,false,"GMT-8:00") t1=Time.gm(*Time.now.to_a) 使用秒数来创建日期: ==================================================== 在内部,日期存储为一个整数,代表从1970年开始到当前的秒数,我们可以获取这么秒数或则利用这个秒数来创建日期: epoch=Time.at(0)#Findtheepoch(1Jan1970GMT) newmil=Time.at(978307200)#HappyNewMillennium!(1Jan2001) now=Time.now#16Nov200017:24:28 sec=now.to_i#974424268 日期的格式化 ==================================================== 获取本日是星期几: now=Time.now+1 day_num=now.wday#3 day_abbr=now.strftime("%a")#Wed day_full=now.strftime("%A")#Wednesday 获取一年中本日所在的周: t1=Time.local(2002,5,1) 1=Date.new(2002,5,1) week1a=t1.strftime("%U").to_i#17 week1b=t1.strftime("%W").to_i#17 week1c=d1.cweek#18 获取当前时区: z1=Time.gm(2000,11,10,22,5,0).zone#"UTC" z2=Time.local(2000,11,10,22,5,0).zone#"中国标准时间" 格式化时间 ==================================================== t=Time.now putst.strftime("%H:%M:%S")#22:07:45 putst.strftime("%H:%M")#22:07 puts(t+30).strftime("%H:%M")#22:08(加了30秒) putst.strftime("%I:%M%p")#10:07PM 所有strftime方法中可用的格式化符号: ===================================================== %a星期的缩写,如Wed %A星期的全称,如Wednesday %U本星期在全年中所属的周数 %W %H小时(24小时制) %M分钟 %S秒 %I小时(12小时制) %pPM或AM %b月份的缩写,如Jan %B月份的全称,如January %c本地日期和时间,如06/14/0716:43:49 %d日期(1..31) %j本日在一年中所属的天(1..366) %m月份(1..12) %w星期的数字形式(0..6) %x本地日期,如06/14/07 %Y本地时间,如16:43:49 %y2位的年份表示,如07 %Y4位的年份表示,如2007 %Z时区名,如"中国标准时间" %% 字面符号% |
http://xcily1.blog.163.com/blog/static/287169162008686145601/、