ruby -- 基础学习(四)TimeDate处理
2013-08-16 17:25
309 查看
TimeDate格式化输出:
如果只想输出日期,而不要输出具体时间
反向格式化(将字符串转化为日期格式):
接下来介绍rails自带的TimeDate格式
如果你忘记了rails自带的TimeDate格式,那么在命令行输入:
执行命令后,可以看到如下
简单的格式化例子: Time.now.to_s(:db) #格式为2013-8-16
接下来介绍,集成多种方式输出
简单的格式化例子:Time.now.to_s(:full) #格式为"August 16, 2013 at 17:32 PM"
要是要求是当前年份,不显示年,其他的年才显示
参考原文链接:http://www.cnblogs.com/orez88/articles/1553126.html
http://www.iteye.com/topic/540957
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
相关文章推荐
- salesforce 零基础学习(十六)Validation Rules & Date/time
- salesforce 零基础开发入门学习(十五)salesforce中formula的使用(不含Date/Time)
- Android基础:Date & Time组件(上)
- php基础系列:从用户登录处理程序学习mysql扩展基本操作
- 数据处理的两个基本问题03 - 零基础入门学习汇编语言40
- JDBC和Ibatis中的Date,Time,Timestamp处理
- 冈萨雷斯数字图像处理学习2:视觉基础
- ruby -- 基础学习(五)empty、nil、blank三者之间的区别
- Qt学习(10)——Qt5中的日期(Date)和时间(Time)(4)
- Ruby语言基础学习七:Ruby字符串、数组、
- Ruby语言基础学习十:Ruby文件输入输出
- 图像处理(图像学习)的基础必备知识
- linux基础学习第十三天(数组、字符串变量处理)
- android基础部分再学习---android处理运行时配置发生变化
- Python学习入门基础教程(learning Python)--1.2Python输入输出与处理 .
- boost之date/time学习
- Tensorflow深度学习之十一:基础图像处理
- 黑马程序员_学习日记37_601基础加强(enums_truct_类型转换_值类型与引用类型_异常处理_函数返回值)
- Java基础学习 —— bat处理文件
- 一步步学习微软InfoPath2010和SP2010--第三章节--表单设计基础:处理InfoPath布局、控件和视图(6)--添加控件到Flight Delay表单