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

Ruby对时间的处理函数

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

Ruby对时间的处理函数
1gl*ekm;j;A0
?g3b*B u*w01.当前时间51Testing软件测试网 _7}/ZL-G*h8o8z
  t = Time.new
N/Ky|#`0 或
0K&@8mWEXzK0 t = Time.now51Testing软件测试网(DcT.vl

_/`V2H.P2MZ02.生成指定时间
/JmN2G!@ wr0  t1 = Time.mktime(2001)                # January 1, 2001 at 0:00:0051Testing软件测试网xQEs&yJR M%Bq2N
 t2 = Time.mktime(2001,3)51Testing软件测试网rm:`u0cfU
 t3 = Time.mktime(2001,3,15)
)g3B\d)~,z?0 t4 = Time.mktime(2001,3,15,21)51Testing软件测试网U#b+z2|Z%h.h U
 t5 = Time.mktime(2001,3,15,21,30)51Testing软件测试网m#Hy v)v
 t6 = Time.mktime(2001,3,15,21,30,15) # March 15, 2001 9:30:15 pm51Testing软件测试网+O%X@6N{Q!U|C
mktime使用当前时区
5Q&ha^R M-E?5h!l3hU8Z051Testing软件测试网9@rl5nY(j!f{%ku9h
Time.gm(同义方法是Time.utc)方法基本上和上面的mktime用法相同,但它使用的是GMT或UTC时区
#[3hg O'Q%p/Y1F0t8 = Time.gm(2001,3,15,21,30,15)  
9g4e2HC b4m1@0t9 = Time.utc(2001,3,15,21,30,15)51Testing软件测试网/D(E `7?R&Rij5W-W!r

CLS+br/i8P1k03.时间数组化
0Bes{;X1{~4o&`4o0to_a可以把时间相关一信息转化成一个数组,数组中存放的信息格式如下:
IK,_7OG _0seconds,
:O2]7_OZ0minutes,51Testing软件测试网;m*j.ooe
hours,51Testing软件测试网dN2cAVD
day,51Testing软件测试网G/]-J9xHeVG
month,
f|!g0l9v zBY/Y0year,
e2ZFFB-pc0day of week (0..6),51Testing软件测试网e&PXDK*L
day of year (1..366),51Testing软件测试网 ETVO#u(Y
daylight saving (true or false),51Testing软件测试网.N3C;i0e-?Z%erq
and time zone (as a string)
IorE r$~0
%@O tV T r6a0示例:51Testing软件测试网a i/X1`)pd,XV
t0 = Time.local(0,15,3,20,11,1979,2,324,false,"GMT-8:00")51Testing软件测试网cQ$}"Hh9z6|I$Sr
t1 = Time.gm(*Time.now.to_a)
0Mx+z*t"U jDu051Testing软件测试网!oh-In:^8n
4.使用数字秒数创建时间,其中这个整数代表从1970年开始到当前的秒数,
pr/TIUF U/f8R:Z#qnnx0epoch = Time.at(0)          # Find the epoch (1 Jan 1970 GMT)
0[HlG6n9]"{4B0newmil = Time.at(978307200) # Happy New Millennium! (1 Jan 2001)
-T8b-b&`5\M| ]051Testing软件测试网G3E#Bv)Kj
now = Time.now              # 16 Nov 2000 17:24:2851Testing软件测试网n1xp&f ge
sec = now.to_i              # 97442426851Testing软件测试网N$a'yZ,F0Z

x-w#ca%W0Fh05. 日期的格式化
o)Xg.SmyJ0获取本日是星期几:
!] ~z*q'k~|x4a0now = Time.now + 151Testing软件测试网yI f0jE!V![O
day_num = now.wday           #3
7V8@+G?D&f @0day_abbr = now.strftime("%a")   #Wed
2HL Bs(?)n.{(i0day_full = now.strftime("%A")   #Wednesday
ZR$V(L:^y051Testing软件测试网%iOr b4J0[3_ sW |
获取一年中本日所在的周:51Testing软件测试网 @ ~NUT
t1 = Time.local(2002,5,1)
,K0vyZXA.B!r01 = Date.new(2002,5,1)
P*J \_qs0
.c3t@6]b7F0week1a = t1.strftime("%U").to_i   # 1751Testing软件测试网1C4n9v#e jH,`
week1b = t1.strftime("%W").to_i   # 1751Testing软件测试网aw1w${1rZI3X3Ig%ECxl
week1c = d1.cweek                 # 1851Testing软件测试网p:S"^r6W4C+m#pIoK
51Testing软件测试网T-c2pO,KZ7L
获取当前时区:
e1zo9C AQ7?*p,h0z1 = Time.gm(2000,11,10,22,5,0).zone     # "UTC"51Testing软件测试网L(j S4J9J;X
z2 = Time.local(2000,11,10,22,5,0).zone # "中国标准时间"51Testing软件测试网Wn+\5Wi{$n

\ hErh~p0格式化时间51Testing软件测试网h&wV'LX a'P"m
t = Time.now51Testing软件测试网Ov,["~ u/y1nYj
puts t.strftime("%H:%M:%S")      # 22:07:4551Testing软件测试网,eG pQ {c2r
51Testing软件测试网 lf3?[i[
puts t.strftime("%H:%M")         # 22:07
B:y.oe L ^.mo0puts (t + 30).strftime("%H:%M") # 22:08 (加了30秒)51Testing软件测试网\Rx R7KL.xa
51Testing软件测试网t3n3~2R i
puts t.strftime("%I:%M %p")      # 10:07 PM51Testing软件测试网"fHUL,aU/yo
51Testing软件测试网%}L~n5T1]ra
strftime方法中可用的格式化符号:51Testing软件测试网'f0Md0@W{
=====================================================
4a3h2?|9B` a o/l0%a    星期的缩写,如Wed51Testing软件测试网x9I%e{y\
%A    星期的全称,如Wednesday
4?.Pv `V d @-mS0%U    本星期在全年中所属的周数51Testing软件测试网 ~.} G v P P
%W  
y1p P"n+Q#lT0%H    小时(24小时制)
Pq{%R;M @L(g^0%M    分钟
f1h|VX cj Y0%S    秒51Testing软件测试网.I4a&rDt
%I    小时(12小时制)51Testing软件测试网#r~+n Ixl3i)[t
%p    PM 或 AM
^V0L? ` Jg051Testing软件测试网0A4Xw5FwR+o1@S+@T
%b    月份的缩写,如 Jan51Testing软件测试网DT0y:d&b7u/z
%B    月份的全称,如 January
jt {0g9MK z~2x2Pu0%c    本地日期和时间,如 06/14/07 16:43:49
1U:Dd6` O%Q$`.z)_.K:d0%d    日期 (1..31)
k#ZMCi0%j    本日在一年中所属的天 (1..366)51Testing软件测试网.s3bq-i g LI\,z/Z
%m    月份 (1..12)
Ojz NX_m$M0%w    星期的数字形式 (0..6)51Testing软件测试网]Y k$@D nc
%x    本地日期,如 06/14/0751Testing软件测试网8K1I { VY
%Y    本地时间,如 16:43:4951Testing软件测试网N.tUF\9V C
%y    2位的年份表示,如07
7Gm vqc\3}"x0%Y    4位的年份表示,如2007
+Au7`|/x7YR9r0%Z    时区名,如"中国标准时间"51Testing软件测试网:e5i:?u,Y;Yw
%%    字面符号%

TAG: 时间函数 Ruby ruby

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

评分:0

我来说两句

Open Toolbar