moment.js에 의해 설정된 날짜의 언어를 변경하려고합니다. 기본 언어는 영어이지만 독일어를 설정하고 싶습니다. 이것들은 내가 시도한 것입니다 :
var now = moment().format("LLL").lang("de");
주고 NaN
있습니다.
var now = moment("de").format("LLL");
이것은 심지어 반응하지 않습니다.
var now = moment().format("LLL", "de");
변경 사항 없음 : 여전히 영어로 결과가 생성됩니다.
이것이 어떻게 가능한지?
답변
(당신은 moment.lang 필요 경고가 : lang()
순간부터 사용되지 않으며 2.8.0
, 사용 locale()
대신) :
moment.lang("de").format('LLL');
http://momentjs.com/docs/#/i18n/
v2.8.1부터는 moment.locale('de')
현지화를 설정하지만 a를 반환하지는 않습니다 moment
. 몇 가지 예 :
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'
요약 locale
하면 전역을 호출 moment
하면 이후의 모든 moment
인스턴스에 대한 로캘이 설정 되지만의 인스턴스는 반환하지 않습니다 moment
. locale
인스턴스를 호출 하면 해당 인스턴스에 대해 설정되고 해당 인스턴스를 반환합니다.
또한 Shiv가 의견에서 말했듯이 “moment.min.js”가 아닌 “moment-with-locales.min.js”를 사용해야합니다. 그렇지 않으면 작동하지 않습니다.
답변
나는 언어도 가져와야했다.
import moment from 'moment'
import 'moment/locale/es' // without this line it didn't work
moment.locale('es')
그런 다음 평소처럼 순간을 사용하십시오
alert(moment(date).fromNow())
답변
가장 빠른 방법 : Bower로 설치
방금 bower로 순간을 설치 de.js
하고 내 HTML 프로젝트에서 javascript 리소스로 연결 했습니다.
bower install moment --save
또한 수동으로 다운로드 할 수 있습니다 moment.js
와 de.js
.
프로젝트에서 ‘de.js’연결
de.js
메인 프로젝트 파일에서 링크를 연결하면 모멘트 클래스 및 해당 메소드에 대한 모든 액세스의 로케일이 자동으로 변경되었습니다.
없을 것이다 더 이상 필요 을 할 수 moment.locale("de").
또는
moment.lang("de").
소스 코드입니다.
원하는 로케일을 다음과 같이 연결하십시오.
<script src="/bower_components/moment/moment.js"></script>
<script src="/bower_components/moment/locale/de.js"></script>
또는 bower_components
마우스 오른쪽 버튼 클릭을 통해 moment.js 1990ies 스타일을 다운로드 한 경우 경로 없이 라이브러리를 링크 할 수 있습니다. 이는 대부분의 시나리오에서 여전히 잘 작동합니다.
답변
답변
moment.lang(navigator.language)
스크립트 를 추가해야합니다 .
또한 표시하려는 각 국가 로캘을 추가해야합니다. 예를 들어 GB 또는 FR의 경우 해당 로캘 형식을 moment.js 라이브러리에 추가해야합니다. 그러한 형식의 예는 momentjs 문서에서 사용할 수 있습니다. moment.js에이 형식을 추가하지 않으면 항상 현재 보이는 유일한 로케일이므로 항상 미국 로케일을 선택합니다.
답변
2017/2018 끝 : 다른 답변에는 너무 오래된 코드가 편집되어 있으므로 여기에 다른 대안이 있습니다.
와 함께
let moment = require('moment');
require('moment/locale/fr.js');
// or if you want to include all locales:
require("moment/min/locales.min");
수입
import moment from 'moment';
import 'moment/locale/fr';
// or if you want to include all locales:
require("moment/min/locales.min");
사용하다:
moment.locale('fr');
moment().format('D MMM YY'); // Correct, set default global format
// moment.locale('fr').format('D MMM YY') //Wrong old versions for global default format
시간대
* 필요 :
require('moment-range');
require('moment-timezone');
*수입:
import 'moment-range';
import 'moment-timezone';
사용 영역 :
const newYork = moment.tz("2014-06-01 12:00", "America/New_York");
const losAngeles = newYork.clone().tz("America/Los_Angeles");
const london = newYork.clone().tz("Europe/London");
날짜 형식을 지정하는 기능
const ISOtoDate = function (dateString, format='') {
// if date is not string use conversion:
// value.toLocaleDateString() +' '+ value.toLocaleTimeString();
if ( !dateString ) {
return '';
}
if (format ) {
return moment(dateString).format(format);
} else {
return moment(dateString); // It will use default global format
}
};
답변
유성 사용자 :
moment 로케일은 meteor에 기본적으로 설치되지 않으며 기본 설치로 ‘en’로케일 만 얻습니다.
따라서 다른 답변에서 올바르게 표시된 코드를 사용하십시오.
moment.locale('it').format('LLL');
필요한 로케일을 설치할 때까지 영어로 유지됩니다.
유성 에 순간 마다 개별 로케일을 추가하는 훌륭하고 깨끗한 방법이 있습니다 ( rzymek 제공 ).
다음과 같이 일반적인 유성 방식으로 모멘트 패키지를 설치하십시오 .
meteor add rzymek:moment
그런 다음 이탈리아어와 같이 필요한 로케일을 추가하십시오.
meteor add rzymek:moment-locale-it
또는 사용 가능한 로케일을 모두 추가하려면 (페이지에 약 30k 추가) :
meteor add rzymek:moment-locales