使用datepicker和时刻处理不同语言的日期

时间:2012-06-05 19:24:46

标签: javascript datepicker jquery-ui-datepicker momentjs

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

示例:

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

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

P.S .:
不确定它是否有帮助...
使用momentjs可以用这种方式设置lang,但问题仍然存在:

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

1 个答案:

答案 0 :(得分:5)

缺少两件事:

  1. 加载相应的language file

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

  3. 这应该适用:

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

    另见jsFiddle