我使用materialize datepicker来选择法语格式的日期。现在我需要将这个日期格式化回日期对象,以便我可以在我的api中使用它。以下是我尝试将日期转换回普通格式的方法:
moment("dimanche 30 juillet 2017","dddd D MMMM YYYY").locale('fr').toDate();
但我收到了Invalid Date
。有没有办法使用时刻转换此日期?或者我可以以某种方式挂钩具体化组件来检索正常日期?
答案 0 :(得分:2)
您需要在尝试解析法语日/月名之前设置fr语言环境。
moment.locale('fr');
moment("dimanche 30 juillet 2017","dddd D MMMM YYYY").toDate();
答案 1 :(得分:2)
您可以解析传递语言环境参数的输入字符串,请参阅moment(String, String, String)
docs:
从版本 2.0.0 开始,区域设置键可以作为第三个参数传递给
moment()
和moment.utc()
。
这是一份工作样本:
var m = moment("dimanche 30 juillet 2017", "dddd D MMMM YYYY", 'fr');
console.log(m.toDate());
console.log(m.format());

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment-with-locales.min.js"></script>
&#13;
有关详细信息,请参阅Changing locale globally和Changing locales locally。