使用日期选择器和时刻处理不同语言的日期

Posted

技术标签:

【中文标题】使用日期选择器和时刻处理不同语言的日期【英文标题】:Dealing with date in different language using datapicker and moments 【发布时间】:2012-06-09 20:12:43 【问题描述】:

我有一个网站,根据位置,可以用不同的语言设置日期:

例子:

Mercredi, Juin 06, 2012 // french
Wednesday, Jun 06, 2012 // english

那么这些日期需要使用momentjs保存在服务器上

moment('Tuesday, Jun 05, 2012').format(); // 2012-06-05T00:00:00+02:00
moment('Mercredi, Juin 06, 2012').format(); // NaN-NaN-NaNTNaN:NaN:NaN+00:00

当用户使用与英语不同的语言时,我该如何解决此问题?

附: 不确定它是否有帮助... 用momentsjs可以这样设置lang,但是问题依然存在:

moment.lang('fr');
moment('Mercredi, Juin 06, 2012').format(); // NaN-NaN-NaNTNaN:NaN:NaN+00:00

【问题讨论】:

【参考方案1】:

缺少两件事:

    加载适当的language file。

    引用文档中的内容:“您可以从可由 Date.parse 解析的字符串创建时刻”[moment(String)] 或“如果您知道输入字符串的格式,您可以用它来解析片刻” [moment(String, String)]。因此,如果 Date.parse 不理解,则需要将日期格式作为第二个参数。

这应该可以工作:

moment.lang("fr");
moment('Mercredi, Juin 06, 2012', "dddd, MMMM DD, YYYY").format();

也可以看到jsFiddle

【讨论】:

以上是关于使用日期选择器和时刻处理不同语言的日期的主要内容,如果未能解决你的问题,请参考以下文章

我们可以在单个应用程序中使用 onCreateDialog 中的不同整数同时打印时间选择器和日期吗?

在android中设置时间和日期到日期选择器和时间选择器

引导日期选择器和引导验证器

Android:时间选择器和日期选择器在同一个对话框中

如何在 iOS 的表格单元格中显示日期选择器和选择器视图?

日期选择器中带有时刻 js 的无效日期