您的位置:首页 > 编程语言 > Ruby

ruby -- 基础学习(四)TimeDate处理

2013-08-16 17:25 309 查看
TimeDate格式化输出:

DateTime.parse(Time.now.to_s).strftime('%Y-%m-%d %H:%M:%S').to_s   #就是按照2013-8-16 16:42:13的格式输出


如果只想输出日期,而不要输出具体时间

DateTime.parse(Time.now.to_s).strftime('%Y-%m-%d').to_s   #就是按照2013-8-16格式输出


反向格式化(将字符串转化为日期格式):

DateTime.parse(params['date']).strftime('%Y-%m-%d %H:%M:%S').to_s


接下来介绍rails自带的TimeDate格式

如果你忘记了rails自带的TimeDate格式,那么在命令行输入:

> rake date_formats


执行命令后,可以看到如下

Date
====
db:'%Y-%m-%d'         2009-12-04
short:'%e %b'         4 Dec
number:'%Y%m%d'       20091204
long:'%B %e, %Y'      December 4, 2009
long_ordinal:'&proc'  December 4th, 2009
rfc822:'%e %b %Y'     4 Dec 2009

DateTime
========
db:'%Y-%m-%d'         2009-12-04 15:38:38
short:'%e %b'         04 Dec 15:38
number:'%Y%m%d'       20091204153838
long:'%B %e, %Y'      December 04, 2009 15:38
long_ordinal:'&proc'  December 4th, 2009 15:38
rfc822:'%e %b %Y'     Fri, 04 Dec 2009 15:38:38 +0800

Time
====
short:'%d %b %H:%M'            04 Dec 15:38
db:'%Y-%m-%d %H:%M:%S'         2009-12-04 15:38:38
number:'%Y%m%d%H%M%S'          20091204153838
long:'%B %d, %Y %H:%M'         December 04, 2009 15:38
long_ordinal:'&proc'           December 4th, 2009 15:38
rfc822:'%a, %d %b %Y %H:%M:%S %z'  Fri, 04 Dec 2009 15:38:38 中国标准时间
time:'%H:%M'                   15:38


简单的格式化例子: Time.now.to_s(:db) #格式为2013-8-16

接下来介绍,集成多种方式输出

# config/initializers/date_time_formats.rb
Time::DATE_FORMATS.merge!(
:full => '%B %d, %Y at %I:%M %p',
:md => '%m/%d',
:mdy => '%m/%d/%y',
:time => '%I:%M %p'
)


简单的格式化例子:Time.now.to_s(:full) #格式为"August 16, 2013 at 17:32 PM"

要是要求是当前年份,不显示年,其他的年才显示

Time::DATE_FORMATS.merge!(
:friendly => lambda { |time|
if time.year == Time.now.year
time.strftime "%b #{time.day.ordinalize}"
else
time.strftime "%b #{time.day.ordinalize}, %Y"
end
}
)


>> Time.now.to_s(:friendly)
=> "August 16th"
>> (Time.now-2.years).to_s(:friendly)
=> "August 16th, 2011"


参考原文链接:http://www.cnblogs.com/orez88/articles/1553126.html

http://www.iteye.com/topic/540957
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: