moment.js:如何获得短日期格式?

Oli*_*ons 7 javascript momentjs

我的应用程序使用这样的javascript发送HTML文件:

$(function () {
    moment.locale('fr');
    $('#datetimepicker9').datetimepicker({
        viewMode: 'years',
        locale: 'fr',
        format: '' /* <========= problem! */
    });
});
Run Code Online (Sandbox Code Playgroud)

有了片刻,当我设置为语言环境时,有没有办法获得像" 'j F Y'" 这样的配置的短日期格式fr

我找到了它,但它是hack-ish:

moment()['_locale']['_longDateFormat']['L']
Run Code Online (Sandbox Code Playgroud)

所以我的代码现在:

$(function () {
    moment.locale('fr');
    $('#datetimepicker9').datetimepicker({
        viewMode: 'years',
        locale: 'fr',
        format: moment()['_locale']['_longDateFormat']['L']
    });
});
Run Code Online (Sandbox Code Playgroud)

我不喜欢那样,是否有一种干净的方式来获取格式?

Jon*_*ski 5

您可以检索与特定的语言环境,格式字符串longDateFormat()电流localeData()

moment.locale('fr');

var localeData = moment.localeData();
var dateFormat = localeData.longDateFormat('LL');

console.log(dateFormat); // D MMMM YYYY
Run Code Online (Sandbox Code Playgroud)