在Rails i18n和bootstrap datepicker之间同步日期格式

时间:2018-12-30 09:33:20

标签: ruby-on-rails internationalization bootstrap-datepicker

引导日期选择器要求日期格式为:

mm/dd/yyyy

但是Rails i18n格式定义为:

%m/%d/%Y

我的网站有许多不同的翻译。我想以Rails i18n格式定义日期格式,然后将其传递给日期选择器,以便每个区域设置仅定义一次日期格式。

我可以使用以下方法检索当前语言环境的日期格式:

I18n.translate('date.formats.default')

是否有一种简单的方法可以将%m /%d /%Y转换为mm / dd / yyyy,以便可以与日期选择器一起使用?

1 个答案:

答案 0 :(得分:0)

引导日期选择器可以配置为所需格式:

$('.datepicker').datepicker({
  format: 'mm/dd/yyyy'
});

我建议设置特定于每种语言的必需日期选择器format

# config/locales/en.yml
pirate:
time:
  formats:
    short: "%m/%d/%y"
    datepicker: "mm/dd/yyyy"

然后您应该可以将其传递给Datepicker:

$('.datepicker').datepicker({
  format: <%= I18n.t 'time.formats.datepicker' %>
});

理想情况下,无论日期显示方式如何,您都希望日期选择器以相同的格式提交日期时间。请查看the bootstrap format api doc,以获取有关提供不同显示和(提交的)值的信息