032 文本框中的时间格式

简介:

Time in Text Field

Although Rails does allow you to edit time attributes with text fields, it's not very flexible. In this episode you will learn how to use a virtual attribute to format the time to your liking.
 
虽然Rails允许你通过文本框来编辑时间属性,但是灵活性不是很高。这一节我们来学习如何用虚拟属性将时间输入变成你喜欢的格式。
 
一般情况下我们使用datetime_select来选择时间:
<%= f.datetime_select :time%>
现在我们用<%= f.text_field :virture_time%>
在模型类中定义:
def virture_time
   time.to_s(:db)
end
 
def virture_time=(vt)
  self.time=Time.parse(vt)
end
 
这样设置了虚拟属性之后就可以分析输入的时间格式,转换为db格式的时间进行存储了。
 
譬如可以输入may 23 at 8:00
 
如果还想看到更多精彩的关于时间的输入方式。可以使用chronic gem.
Chronic is a natural language date/time parser written in pure Ruby.
 
chronic是一个用来分析自然语言表达时间的工具。纯ruby语言编写。
 
另外假如在输入时间格式的时候输的是一个错误的格式。
可以将model中的代码改成下面这样:
 
# models/task.rb
def virtual_time
  @virtual_time || time.to_s(:db)
end
def virtual_time=(vt)
  @virtual_time = vt
self.time = Time.parse(vt) rescue ArgumentError @time_invalid = true end




本文转自 fsjoy1983 51CTO博客,原文链接:http://blog.51cto.com/fsjoy/132083,如需转载请自行联系原作者
目录
相关文章
|
9月前
Element Plus 日期选择器 获取选中的日期的格式(当前日期/时间戳格式)
Element Plus 日期选择器 获取选中的日期的格式(当前日期/时间戳格式)
313 0
|
4天前
|
开发框架 .NET 区块链
gridview中设置日期格式
gridview中设置日期格式
|
2月前
|
JavaScript 编译器
publiccms按照指定显示的日期格式,格式化日期的写法
publiccms按照指定显示的日期格式,格式化日期的写法
6 0
|
C# 前端开发
WPF DatePicker默认显示当前日期,格式化为年月日
原文:WPF DatePicker默认显示当前日期 WPF的日历选择控件默认为当前日期,共有两种方法,一种静态,一种动态。 静态的当然写在DatePicker控件的属性里了,动态的写在对应的cs文件里,具体请看下面。
6241 0
|
6月前
|
JavaScript
DateTimePicker 日期时间选择器,默认获取当前日期
DateTimePicker 日期时间选择器,默认获取当前日期
60 1
|
6月前
|
JavaScript 前端开发 程序员
DatePicker 日期选择器,获取系统默认当前年月日
DatePicker 日期选择器,获取系统默认当前年月日
79 0
如何让日期时间控件不显示时间,直接显示字符串"YYYY-MM-DD"
如何让日期时间控件不显示时间,直接显示字符串"YYYY-MM-DD"
C# DateTimePicker控件如何精确设置显示时分秒
C# DateTimePicker控件如何精确设置显示时分秒
460 0
C# DateTimePicker控件如何精确设置显示时分秒
|
Java Android开发
Eclipse设置日期和时间格式自定义
Eclipse设置日期和时间格式自定义
313 0
Eclipse设置日期和时间格式自定义
|
数据安全/隐私保护
.日期间距和单个日期的选择
.日期间距和单个日期的选择
90 0
.日期间距和单个日期的选择