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' --
short:'%e %b' Dec
number:'%Y%m%d'
long:'%B %e, %Y' December ,
long_ordinal:'&proc' December 4th,
rfc822:'%e %b %Y' Dec DateTime
========
db:'%Y-%m-%d' -- ::
short:'%e %b' Dec :
number:'%Y%m%d'
long:'%B %e, %Y' December , :
long_ordinal:'&proc' December 4th, :
rfc822:'%e %b %Y' Fri, Dec :: + Time
====
short:'%d %b %H:%M' Dec :
db:'%Y-%m-%d %H:%M:%S' -- ::
number:'%Y%m%d%H%M%S'
long:'%B %d, %Y %H:%M' December , :
long_ordinal:'&proc' December 4th, :
rfc822:'%a, %d %b %Y %H:%M:%S %z' Fri, Dec :: 中国标准时间
time:'%H:%M' :

简单的格式化例子: 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

ruby -- 基础学习(四)TimeDate处理的更多相关文章

  1. Python基础学习四

    Python基础学习四 1.内置函数 help()函数:用于查看内置函数的用途. help(abs) isinstance()函数:用于判断变量类型. isinstance(x,(int,float) ...

  2. Mybatis基础学习(四)—关系映射

    一.模型分析 user和orders user---->orders 一个用户可以创建多个订单,一对多. orders--->user 一个订单只由一个用户创建,一对一.   orders ...

  3. Node.js基础学习四之注册功能

    前言:在Node.js学习(二)和(三)中介绍了如何在Node.js 中获取登录的用户名和密码与数据库进行验证并返回数据给客户端 需求:实现注册功能 为了区分登录和注册是两个不同的请求,在端口后面加上 ...

  4. Salesforce Sales Cloud 零基础学习(四) Chatter

    Chatter是一个Salesforce实时协作应用程序,它允许你的用户一起工作.互相交谈和共享信息,不管用户角色或位置如何,连接.并激励用户在整个组织内高效工作. Chatter 让用户们在 Opp ...

  5. ruby -- 基础学习(五)empty、nil、blank三者之间的区别

    这三个方法在ROR中经常用到,都是用来判断是否为空的. 区别是: ruby的方法:.nil?..empty? rails的方法 :.blank? 用法的区别: .nil?    :   判断对象是否存 ...

  6. ruby -- 基础学习(八)中文字符串截取的函数

    学习来源:http://www.codesky.net/article/200910/166595.html truncate(text, length = 30, truncate_string = ...

  7. Spring基础学习(四)—AOP

    一.AOP基础 1.基本需求      需求: 日志功能,在程序执行期间记录发生的活动. ArithmeticCalculate.java public interface ArithmeticCal ...

  8. Hibernate基础学习(四)—对象-关系映射(上)

    一.映射对象标识符      Java语言按内存地址来识别或区分同一个类的不同对象,而关系数据库按主键值来识别或区分同一个表的不同记录.Hibernate使用对象标识符(OID)来建立内存中的对象和数 ...

  9. Struts2基础学习(四)—类型转换器和数据校验

    一.自定义类型转换器 1.概述      Struts2提供了常规类型转换器,可以用于常用数据类型的转换,但如果目标类型是一个特殊类型,则需要自定义转换器.Struts2 类型转换器实际上都是基于OG ...

随机推荐

  1. Maven学习总结(八)——使用Maven构建多模块项目

    在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,最常见的就是分为domain(域模型层).dao(数据库访问层).service(业务逻辑层).web(表现层),这样分层之 ...

  2. MF-800U

    MF-800U 价格:200元左右 https://item.taobao.com/item.htm?spm=a230r.1.14.6.kfkqoY&id=4963072384&ns= ...

  3. html5使用FileReader上传图片

    客户端代码是网上找的,修改为.net代码. <html><head>    <meta charset="utf-8">    <titl ...

  4. AutoCAD2007专业版

    07版的AutoCAD应该是一个很经典的版本了,点此下载,附带破解注册机和天正的插件包,可以查看天正软件画的图纸. AutoCAD2007本身没有标签工具,切换窗口很不方便,如果能配合多标签插件Doc ...

  5. kindle 贴膜

    我自己贴膜也贴得很好.顺便和大家分享一下我的贴膜经验.需要的道具,一.抹布,二.一张银行卡,三.一卷小筒的透明胶.贴膜关键点,一.环境和贴面必须干净,二.用力要轻,三.顺序是从上往下.具体步骤:1.先 ...

  6. win7下虚拟机安装mac 转载自 http://itbbs.pconline.com.cn/50602805.html

    最近,不断有人问起,如何在vmware下安装MAC系统.起因是以前曾发过一篇贴,在vmware8下安装MAC的方法.于是,重新下载了最新版苹果系统10.8.5,终于成功安装.现将注意事项及过程与各位朋 ...

  7. SVO实时全局光照:Sparse Voxel Octree based Global Illumination (SVO GI)

    功能已实现,初步集成进来,暂未进行重度优化.但GI的效果已很明显.这里特地给出了开启实时GI前后的效果对比,比对场景如下:1.只有直接光照(方向光源)的场景.2在直接光照(方向光源)基础上开启了实时G ...

  8. 自己写的一个Yeoman的Generator-Require-Angularjs

    Yeoman是一个常见的工作流,能够很方面的搭建属于自己的脚手架. 这段时间我用闲暇时间写了一个Generator来玩了一下,这个Generator的主要目的是快速建立一个RequireJS+Angu ...

  9. WPF 获取程序路径的一些方法,根据程序路径获取程序集信息

    一.WPF 获取程序路径的一些方法方式一 应用程序域 //获取基目录即当前工作目录 string str_1 = System.AppDomain.CurrentDomain.BaseDirector ...

  10. ubuntu16.04+opencv3.1配置

    #安装必要的依赖sudo apt-get install build-essential cmakesudo apt-get install cmake Git libgtk2.0-dev pkg-c ...