Ruby对时间的处理函数

来源:互联网 发布:jquery.modal.js 编辑:程序博客网 时间:2024/05/17 07:08
Ruby对时间的处理函数

1.当前时间
 
t = Time.new
 
 t = Time.now

2.生成指定时间
  t1 =Time.mktime(2001)               # January 1, 2001 at 0: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) # March 15,2001 9:30:15 pm
mktime使用当前时区

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)

3.时间数组化
to_a可以把时间相关一信息转化成一个数组,数组中存放的信息格式如下:
seconds,
minutes,
hours,
day,
month,
year,
day of week (0..6),
day of year (1..366),
daylight saving (true or false),
and time zone (as a string)

示例:
t0 = Time.local(0,15,3,20,11,1979,2,324,false,"GMT-8:00")
t1 = Time.gm(*Time.now.to_a)

4.使用数字秒数创建时间,其中这个整数代表从1970年开始到当前的秒数,
epoch =Time.at(0)         # Find the epoch (1 Jan 1970 GMT)
newmil = Time.at(978307200) # Happy New Millennium! (1 Jan2001)

now =Time.now             # 16 Nov 2000 17:24:28
sec =now.to_i             # 974424268

5. 日期的格式化
获取本日是星期几:
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
puts t.strftime("%H:%M:%S")     # 22:07:45

puts t.strftime("%H:%M")        # 22:07
puts (t + 30).strftime("%H:%M") #22:08 (加了30秒)

puts t.strftime("%I:%M%p")     # 10:07 PM

strftime方法中可用的格式化符号:
=====================================================
%a   星期的缩写,如Wed
%A   星期的全称,如Wednesday
%U   本星期在全年中所属的周数
%W  
%H   小时(24小时制)
%M    分钟
%S   
%I   小时(12小时制)
%p    PM 或AM

%b    月份的缩写,如Jan
%B    月份的全称,如January
%c    本地日期和时间,如06/14/07 16:43:49
%d    日期(1..31)
%j    本日在一年中所属的天(1..366)
%m    月份(1..12)
%w    星期的数字形式(0..6)
%x    本地日期,如06/14/07
%Y    本地时间,如16:43:49
%y   2位的年份表示,如07
%Y   4位的年份表示,如2007
%Z   时区名,如"中国标准时间"
%%   字面符号%
0 0
原创粉丝点击