博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Time Date时间转换和格式化输出
阅读量:4042 次
发布时间:2019-05-24

本文共 1721 字,大约阅读时间需要 5 分钟。

1.格式化输出
那么最常用到的应该是:
Ruby代码
  1. DateTime.parse(Time.now.to_s).strftime('%Y-%m-%d %H:%M:%S').to_s#就是按照2009-5-14 8:42:13的给定格式输出
DateTime.parse(Time.now.to_s).strftime('%Y-%m-%d %H:%M:%S').to_s#就是按照2009-5-14 8:42:13的给定格式输出
这个比较容易也经常用到。
2. 反向格式化
就是,从表单提交了一定格式的字符串,想把它格式化成一个日期类型的变量。
Ruby代码
  1. DateTime.parse(params['start_date']).strftime('%Y-%m-%d %H:%M:%S').to_s
DateTime.parse(params['start_date']).strftime('%Y-%m-%d %H:%M:%S').to_s
这里需要说明DataTime.parse比较强,其他格式也能猜出来,但我处理带时区的时候,总出问题。相当于
Ruby代码
  1. DateTime.parse(params['start_date']).strftime('%F %T').to_s
DateTime.parse(params['start_date']).strftime('%F %T').to_s
3. 集成多种方式输出
Ruby代码
  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. )
# config/initializers/date_time_formats.rbTime::DATE_FORMATS.merge!(  :full => '%B %d, %Y at %I:%M %p',  :md => '%m/%d',  :mdy => '%m/%d/%y',  :time => '%I:%M %p')
这时,你就可以简单的通过调用
Ruby代码
  1. Time.now.to_s(:full)#按照之前定义"May 14, 2009 at 08:39 AM"
Time.now.to_s(:full)#按照之前定义"May 14, 2009 at 08:39 AM"
4. 满足变化需求的输出
比如,要求是当前年份,不显示年,其他的年才显示
Ruby代码
  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::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  })
Ruby代码
  1. >> Time.now.to_s(:friendly)
  2. => "May 14th"
  3. >> (Time.now-2.years).to_s(:friendly)
  4. => "May 14th, 2007"
>> Time.now.to_s(:friendly)=> "May 14th">> (Time.now-2.years).to_s(:friendly)=> "May 14th, 2007"

转载地址:http://hbadi.baihongyu.com/

你可能感兴趣的文章
VMware Workstation Pro虚拟机不可用解决方法
查看>>
最简单的使用redis自带程序实现c程序远程访问redis服务
查看>>
redis学习总结-- 内部数据 字符串 链表 字典 跳跃表
查看>>
iOS 对象序列化与反序列化
查看>>
iOS 序列化与反序列化(runtime) 01
查看>>
iOS AFN 3.0版本前后区别 01
查看>>
iOS ASI和AFN有什么区别
查看>>
iOS QQ侧滑菜单(高仿)
查看>>
iOS 扫一扫功能开发
查看>>
iOS app之间的跳转以及传参数
查看>>
iOS __block和__weak的区别
查看>>
Android(三)数据存储之XML解析技术
查看>>
Spring JTA应用之JOTM配置
查看>>
spring JdbcTemplate 的若干问题
查看>>
Servlet和JSP的线程安全问题
查看>>
GBK编码下jQuery Ajax中文乱码终极暴力解决方案
查看>>
Oracle 物化视图
查看>>
PHP那点小事--三元运算符
查看>>
解决国内NPM安装依赖速度慢问题
查看>>
Brackets安装及常用插件安装
查看>>