【问题标题】:Rails DateTime format can't be correctedRails DateTime 格式无法更正
【发布时间】:2017-01-19 10:17:36
【问题描述】:

我的应用中有两列属于 DateTime 类型。

在应用程序中编辑条目时,我正在粘贴

12/09/16 10:39

但是当它进入显示页面时,它显示:

16/09/12 10:39

当显示一个简单的Time.now时,它显示为

12/09/16 12:04

那是正确的。

我已经进入:

Time::DATE_FORMATS[:default] = "%d/%m/%y %H:%M"

在“application.rb”、“environment.rb”中,在“initializers”文件夹中创建了一个文件“time_format.rb”,在models文件夹中创建了“ticket.rb”。关于我可以在哪里更正此问题的任何其他建议?

在编辑条目时要编辑 DateTime 值时,它显示为

0012-09-16 00:59:08.000000 

出于某种原因在 text_field 中。

谢谢。

【问题讨论】:

  • 如果它是一个视图。为什么你不能使用 @your_model_instance.created_at.strftime("%a %d/%h/%y"),它显示 Sunday,02/10/16 或任何你想展示的方式......

标签: ruby-on-rails ruby ruby-on-rails-3 datetime


【解决方案1】:

在您的控制器 require 'date' 中,然后您可以将格式化的 DateTime 传递给您的视图:

控制器:

require 'date'

def index
  @user_date_time = current_user.your_date_time
  @formatted_date = @user_date_time.strftime('%d/%m/%Y %I:%M').to_s
end

查看:

<%= @formatted_date %>

应该输出:12/09/16 12:04 (在你的情况下)

查看ruby strftime 方法了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-09
    • 2013-07-10
    • 1970-01-01
    相关资源
    最近更新 更多