rails中的日期格式问题

时间:2014-09-29 05:59:20

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

您好我有日期格式化功能

def format_date date
    date.strftime("%m/%d/%Y")
end  

我的观看代码就像这样

<input type="text" id="start" class="form-control" placeholder="Start Date" name='start_date' value="<%= params[:start_date] %>"> <span class="input-group-addon"><span class="fa fa-calendar">

我希望rails执行此操作。如果我通过java脚本执行它仍然无法正常工作。

4 个答案:

答案 0 :(得分:0)

问题不明确,以下是如何使用

的示例
 <%= f.text_field 'start_date', id:"start", class: "form-control", placeholder: "Start Date", value:  params[:start_date].to_date.strftime("%m/%d/%Y") %>

答案 1 :(得分:0)

你可以做这样的事情..把格式设为ddmmyy并限制未来日期的选择

 var ToEndDate = new Date();
        $('#start').datepicker({
                format: "dd/mm/yyyy",
                 weekStart: 1,
                 autoclose: true,
                 startDate: '01/01/1950',
                 endDate: ToEndDate, 
            }); 

您可以将其用于表单对象,例如: -

 <%= f.text_field :date_of_birth ,:class=>"form-control input-lg "  ,:placeholder=>"Select Date of Birth",:id=>"start",:required=>true, :autofocus => true %> 

其中date_of_birthusers表中的字段(例如

答案 2 :(得分:0)

据我所知,您希望使用此格式以此格式将其保存在db中并在将来使用它?如果我是对的,你可以做下一步:

config / initializers 中创建文件 time_formats.rb

文件内:

Time::DATE_FORMATS[:mdy] = "%m/%d/%Y"

现在您可以简单地格式化日期,例如在保存到数据库之前。在您的模型类中:

# If your start_date attr is a string value in your db:
def format_date
  self.start_date.to_date.to_formatted_s(:mdy)
end

# If your start_date value is a date value in your db:
def format_date
  self.start_date.to_formatted_s(:mdy)
end

before_save :format_date

答案 3 :(得分:0)

嗨,这是您传递日期并转换为该格式的方法

def format_date date
  date.strftime("%m/%d/%Y")
end  

通过查看您的观看代码,我发现您没有调用辅助方法,您可以将其称为下方

我的观看代码是这样的

<input type="text" id="start" class="form-control" placeholder="Start Date" name='start_date' value="<%= format_date params[:start_date] %>"> <span class="input-group-addon"><span class="fa fa-calendar">

我已经通过将Date.today对象传递给format_date方法进行了测试,如果错误没有解决则该方法正常工作,然后检查你的params对象。

如果您使用日期选择器进行更改,请遵循以下代码

查看

<input type="text" id="start" class="form-control" placeholder="Start Date" name='start_date' value="<%= params[:start_date],data: { 'date-format' =>"DD/MM/YYYY", 'behaviour' => 'no-past-datepicker', 'rule-dateFormat' => true } %>"> <span class="input-group-addon"><span class="fa fa-calendar">

你必须把你的js文件放在application.js中,只需要把它放在

// =需要jquery.ui.datepicker

$(document).ready(function() {
  $(function () {
    $("#start").datepicker({
      dateFormat: 'dd/mm/yy'
    });
  });
});