十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

Ruby对时间的处理函数

上一篇 / 下一篇  2011-06-18 08:16:23 / 个人分类:ruby

Ruby对时间的处理函数51Testing软件测试网#P7n7t"Go M {'pv
51Testing软件测试网z#PlJ4y
1.当前时间
U S o](Ns,J7UT0  t = Time.new
$?m`BU%x+|0 或
L#yF(SkQ d;X i8x0 t = Time.now51Testing软件测试网u,`*[b8R/{

kLv5G_02.生成指定时间
;J]QsB(p0  t1 = Time.mktime(2001)                # January 1, 2001 at 0:00:0051Testing软件测试网-f%m^2hBvo?$j
 t2 = Time.mktime(2001,3)
J/D,jB0_s0 t3 = Time.mktime(2001,3,15)
i'e3W!k7J4Qs0 t4 = Time.mktime(2001,3,15,21)51Testing软件测试网4e(f%`3fY.X m/d;f8l
 t5 = Time.mktime(2001,3,15,21,30)51Testing软件测试网Q n8t^I
 t6 = Time.mktime(2001,3,15,21,30,15) # March 15, 2001 9:30:15 pm
-}9K6^Y$L6j S)dd+Y0mktime使用当前时区
-C2|5aR[F [x9eN051Testing软件测试网 \ _~7y__n8R
Time.gm(同义方法是Time.utc)方法基本上和上面的mktime用法相同,但它使用的是GMT或UTC时区51Testing软件测试网h+z'Y]4IL{
t8 = Time.gm(2001,3,15,21,30,15)  51Testing软件测试网$@{0f"`~ hJ)hY
t9 = Time.utc(2001,3,15,21,30,15)
M,Xr9S[c_}/[)h051Testing软件测试网+x2x~V RE:[%@
3.时间数组化51Testing软件测试网Z|?Q%U&WMP+K
to_a可以把时间相关一信息转化成一个数组,数组中存放的信息格式如下:
D{t5]6o2qB0seconds,
j1M,_V`M0minutes,51Testing软件测试网%\'Ik"}E7X
hours,51Testing软件测试网9Df,P*a%xT1a8zw
day,51Testing软件测试网OxH+I1W K
month,51Testing软件测试网8\F)R4{ ^:b
year,51Testing软件测试网-TE8kj1M&u
day of week (0..6),51Testing软件测试网{ O QAG?$R m6h
day of year (1..366),
J~PG'z|} wC }6n0daylight saving (true or false),
RTm&K z-O0and time zone (as a string)51Testing软件测试网 N S!^xd)M1O

;X+B.?&TK |0示例:51Testing软件测试网#r q+fg f~.H-t
t0 = Time.local(0,15,3,20,11,1979,2,324,false,"GMT-8:00")
D4O%}4L9l:_"e+rU&F9t0t1 = Time.gm(*Time.now.to_a)51Testing软件测试网*F3B su,LIV

8J UR*Ca,yM6T04.使用数字秒数创建时间,其中这个整数代表从1970年开始到当前的秒数,51Testing软件测试网 K4C\ s;Mn
epoch = Time.at(0)          # Find the epoch (1 Jan 1970 GMT)
$FrD7^#Z(X2b*YRD0newmil = Time.at(978307200) # Happy New Millennium! (1 Jan 2001)51Testing软件测试网^,LGB"pk*l

!@fn Pc ]0s0now = Time.now              # 16 Nov 2000 17:24:28
EY{f0j0sec = now.to_i              # 97442426851Testing软件测试网xJ5p9] _.Bw"| yp @

w(@!`BX05. 日期的格式化51Testing软件测试网)|;} I/gU[v
获取本日是星期几:51Testing软件测试网[1|h"\$M k$~!DD(Z%R
now = Time.now + 1
g,`[,pIoA%u0day_num = now.wday           #3
0g'g X'sI!Q,pjN0day_abbr = now.strftime("%a")   #Wed
m:\@!|Sa:C0day_full = now.strftime("%A")   #Wednesday
2ps h4f:p051Testing软件测试网rRC"E{2X3]u
获取一年中本日所在的周:51Testing软件测试网7h*@9o;{D%?X*|
t1 = Time.local(2002,5,1)51Testing软件测试网 nQ-INH l-b
1 = Date.new(2002,5,1)51Testing软件测试网I4X(So%uPW!] g

Z2zI G[1e)g O0week1a = t1.strftime("%U").to_i   # 17
~g.b4~K3c;F0week1b = t1.strftime("%W").to_i   # 1751Testing软件测试网o*y6iU%?f)B-m,~&K
week1c = d1.cweek                 # 18
*S(pm)utX051Testing软件测试网Z8FsF Pe0lZ\o
获取当前时区:51Testing软件测试网Jd_dG
z1 = Time.gm(2000,11,10,22,5,0).zone     # "UTC"
[t$N2Te{ l4T0z2 = Time.local(2000,11,10,22,5,0).zone # "中国标准时间"
xoM m&m\\p0
y Y#b.vh4N*c#g3y3S0格式化时间51Testing软件测试网-T#p"hiP;Lv:jz
t = Time.now51Testing软件测试网6S1y[6N7~ my0yP'rR
puts t.strftime("%H:%M:%S")      # 22:07:45
0vH2[;u5g eT/D0
9FkSs6fmI;|0puts t.strftime("%H:%M")         # 22:0751Testing软件测试网.jsH3O-v-U:~
puts (t + 30).strftime("%H:%M") # 22:08 (加了30秒)51Testing软件测试网/o { Cr.ie
51Testing软件测试网;S4knc%H:G7yl]s
puts t.strftime("%I:%M %p")      # 10:07 PM
]2XI+F$X M&t#{051Testing软件测试网8A#@xLX1Q4l}:e
strftime方法中可用的格式化符号:
3sp']%pnaB0=====================================================51Testing软件测试网!|"iu0Y:t Lz4x(|@
%a    星期的缩写,如Wed
#z/PPI*rV|k,Kr-N0%A    星期的全称,如Wednesday51Testing软件测试网eg7| p_2K
%U    本星期在全年中所属的周数
p J"][o'N0%W  
9||JYS ?0%H    小时(24小时制)51Testing软件测试网mk eS%EL4j:s
%M    分钟51Testing软件测试网1y }+NHMk
%S    秒
as$[NY-Pr@#b0%I    小时(12小时制)
j` W0@\q#tz7g0%p    PM 或 AM51Testing软件测试网 E6}CtlGo
51Testing软件测试网T9aA9P"TZ
%b    月份的缩写,如 Jan51Testing软件测试网:} HW*sCt
%B    月份的全称,如 January51Testing软件测试网mKR ~3PH/g2K
%c    本地日期和时间,如 06/14/07 16:43:49
K~v+m/^)b0%d    日期 (1..31)
rU%C#z]j-O$e)Oi0%j    本日在一年中所属的天 (1..366)
)R]*^3fT!S/D0%m    月份 (1..12)51Testing软件测试网$HB&@pn;x w7P
%w    星期的数字形式 (0..6)51Testing软件测试网w6_G]g!~e y4a
%x    本地日期,如 06/14/0751Testing软件测试网(]9A,A;Kv'aGh
%Y    本地时间,如 16:43:49
[d%TS-A6z5{a@I0%y    2位的年份表示,如07
:d!T+E#\P6DuzN:F3P0%Y    4位的年份表示,如200751Testing软件测试网,p:GS%| _z
%Z    时区名,如"中国标准时间"51Testing软件测试网7Tj(O{(? A$TA)O
%%    字面符号%

TAG: 时间函数 Ruby ruby

荒漠赤沙——的个人空间 引用 删除 jingwdongw   /   2011-07-06 13:16:22
荒漠赤沙——的个人空间 引用 删除 jingwdongw   /   2011-07-06 13:15:54
5
 

评分:0

我来说两句

Open Toolbar