How do I change the language of moment.js?

前端 未结 20 1490
别那么骄傲
别那么骄傲 2020-11-29 16:27

I am trying to change the language of the date which is being set by moment.js. The default one is English, but I want to set the German language. These is what I tried:

20条回答
  •  [愿得一人]
    2020-11-29 16:51

    You need moment.lang (WARNING: lang() is deprecated since moment 2.8.0, use locale() instead):

    moment.lang("de").format('LLL');
    

    http://momentjs.com/docs/#/i18n/


    As of v2.8.1, moment.locale('de') sets the localization, but does not return a moment. Some examples:

    var march = moment('2017-03')
    console.log(march.format('MMMM')) // 'March'
    
    moment.locale('de') // returns the new locale, in this case 'de'
    console.log(march.format('MMMM')) // 'March' still, since the instance was before the locale was set
    
    var deMarch = moment('2017-03')
    console.log(deMarch.format('MMMM')) // 'März'
    
    // You can, however, change just the locale of a specific moment
    march.locale('es')
    console.log(march.format('MMMM')) // 'Marzo'
    

    In summation, calling locale on the global moment sets the locale for all future moment instances, but does not return an instance of moment. Calling locale on an instance, sets it for that instance AND returns that instance.

    Also, as Shiv said in the comments, make sure you use "moment-with-locales.min.js" and not "moment.min.js", otherwise it won't work.

提交回复
热议问题