ruby 格式化当前日期时间
ruby 用Time类获取当前时间。
t = Time.new
puts t
可以看到输出的是(我现在运行的时间):
Sat Jan 29 10:45:22 +0800 2011
一般我们拿来用,都不会直接用这样“复杂”的时间格式。
下面通过Time的strftime方法来格式化处理,得到想到的日期格式。
1.比如你想获取 “2011-01-29” 这样的日期格式
t = Time.new
date = t.strftime("%Y-%m-%d")puts date #2011-01-29
2.比如你想获取“2011年01月29日 星期六 10:50 AM” 这样的格式
dayOfWeek = [ "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" ]
t = Time.newputs tdate = t.strftime("%Y年%m月%d日 ") << dayOfWeek[t.strftime("%w").to_i] << t.strftime(" %H:%M %p")puts date #2011年01月29日 星期六 10:50 AM
参数:
%a - The abbreviated weekday name (``Sun'')
%A - The full weekday name (``Sunday'')%b - The abbreviated month name (``Jan'')%B - The full month name (``January'')%c - The preferred local date and time representation%d - Day of the month (01..31)%H - Hour of the day, 24-hour clock (00..23)%I - Hour of the day, 12-hour clock (01..12)%j - Day of the year (001..366)%m - Month of the year (01..12)%M - Minute of the hour (00..59)%p - Meridian indicator (``AM'' or ``PM'')%S - Second of the minute (00..60)%U - Week number of the current year, starting with the first Sunday as the first day of the first week (00..53)%W - Week number of the current year, starting with the first Monday as the first day of the first week (00..53)%w - Day of the week (Sunday is 0, 0..6)%x - Preferred representation for the date alone, no time%X - Preferred representation for the time alone, no date%y - Year without a century (00..99)%Y - Year with century%Z - Time zone name%% - Literal ``%'' character