• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 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

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

 1 Date
 2 ====
 3 db:\'%Y-%m-%d\'         2009-12-04
 4 short:\'%e %b\'         4 Dec
 5 number:\'%Y%m%d\'       20091204
 6 long:\'%B %e, %Y\'      December 4, 2009
 7 long_ordinal:\'&proc\'  December 4th, 2009
 8 rfc822:\'%e %b %Y\'     4 Dec 2009
 9 
10 DateTime
11 ========
12 db:\'%Y-%m-%d\'         2009-12-04 15:38:38
13 short:\'%e %b\'         04 Dec 15:38
14 number:\'%Y%m%d\'       20091204153838
15 long:\'%B %e, %Y\'      December 04, 2009 15:38
16 long_ordinal:\'&proc\'  December 4th, 2009 15:38
17 rfc822:\'%e %b %Y\'     Fri, 04 Dec 2009 15:38:38 +0800
18        
19 Time
20 ====
21 short:\'%d %b %H:%M\'            04 Dec 15:38
22 db:\'%Y-%m-%d %H:%M:%S\'         2009-12-04 15:38:38
23 number:\'%Y%m%d%H%M%S\'          20091204153838
24 long:\'%B %d, %Y %H:%M\'         December 04, 2009 15:38
25 long_ordinal:\'&proc\'           December 4th, 2009 15:38
26 rfc822:\'%a, %d %b %Y %H:%M:%S %z\'  Fri, 04 Dec 2009 15:38:38 中国标准时间
27 time:\'%H:%M\'                   15:38

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

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

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

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

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

1 Time::DATE_FORMATS.merge!(  
2   :friendly => lambda { |time|  
3     if time.year == Time.now.year  
4       time.strftime "%b #{time.day.ordinalize}"  
5     else  
6       time.strftime "%b #{time.day.ordinalize}, %Y"  
7     end  
8   }  
9 ) 
>> 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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
让Apache支持ruby写的cgi程序发布时间:2022-07-14
下一篇:
ruby元编程之method_missing一个细节发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap