How do I change the language of moment.js? How do I change the language of moment.js? javascript javascript

How do I change the language of moment.js?


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 setvar deMarch = moment('2017-03')console.log(deMarch.format('MMMM')) // 'März'// You can, however, change just the locale of a specific momentmarch.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.


I had to import also the language:

import moment from 'moment'import 'moment/locale/es'  // without this line it didn't workmoment.locale('es')

Then use moment like you normally would

alert(moment(date).fromNow())


Fastest method: Install with Bower

I just installed moment with bower and linked de.js as javascript resource in my html project.

bower install moment --save

You can also manually download the moment.js and de.js.

Link 'de.js' in your project

Linking the de.js in my main project file automatically changed the locale for all accesses to the moment class and its methods.

There will be no need anymore to do a moment.locale("de"). ormoment.lang("de"). in the source code.

Just link your desired locale like this:

<script src="/bower_components/moment/moment.js"></script><script src="/bower_components/moment/locale/de.js"></script>

Or you can link the libraries without the bower_components path, if you downloaded moment.js 1990ies-style via right-click, which still works fine in most scenarios.