ruby-on-rails - 在Rails的文本框中格式化DateTime

标签 ruby-on-rails datetime

有没有一种简单的方法可以在Rails View 中格式化DateTime值的显示?

例如,如果我正在做类似的事情:

<%= text_field :my_object, :start_date %>

并且只想显示:start_date的Date部分(即,我想隐藏时间部分),有没有一种方法可以在 View 内部格式化:start_date字符串,以便它将用于创建新的my_object项和更新新的my_object项?

只是澄清一下:

在做
<%= text_field 
       :my_object,
       :start_date,
       :value => @my_object.start_date.strftime('%m/%d/%Y') %>

在对象已经存在时(即在项目更新时)可以很好地工作,但是,当创建一个新的项目时,由于start_date最初为nil,因此 View 将引发错误
while evaluating nil.strftime

最佳答案

这里有一些很好的建议,但是,在某些情况下,您确实希望文本字段日期采用特定的格式(例如,您正在与javascript日期选择器集成),并且要处理nil,我认为只是作了一些小调整现有方法将达到目的:

:value => (@object.start_date.blank? ? '' : @object.start_date.strftime('%m/%d/%Y'))

关于ruby-on-rails - 在Rails的文本框中格式化DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1422274/

相关文章:

ruby-on-rails - 具有 where 和 where.not 的命名范围

ruby-on-rails - 从今天起在 ruby​​ 中获取接下来 7 天名称的数组

ruby-on-rails - 如何在 Heroku 上提交支持请求?

apache-spark - 如何将不同的时区应用于 PySpark 中的时间戳

javascript - Google 的气泡提示和类似的 "learning curve"/"getting started"气泡提示用什么?

ruby-on-rails - 如何使用 Facebook 登录向门卫进行身份验证?

sql - 为什么 ss 舍入到最接近的分钟,这将改变一天

c# - 字符串到日期格式转换

java - 用java处理 future 的日期

c# - FieldConverter ConverterKind.Date "dd/MM/yyyy"异常