기본적으로 MomentJS는 현지 시간으로 구문 분석합니다. 날짜 문자열 (시간 없음) 만 제공되는 경우 시간은 기본적으로 자정입니다.
코드에서 현지 날짜를 만든 다음 UTC 시간대로 변환합니다 (사실 순간 인스턴스가 UTC 모드 로 전환됨). 형식이 지정되면 현지 시간에 따라 앞으로 이동하거나 뒤로.
현지 시간대가 UTC + N (N은 양수)이고 날짜 전용 문자열을 구문 분석하면 이전 날짜를 가져옵니다.
다음은이를 설명하는 몇 가지 예입니다 (내 현지 시간 오프셋은 DST 동안 UTC + 3입니다).
>>> moment('07-18-2013', 'MM-DD-YYYY').utc().format("YYYY-MM-DD HH:mm")
"2013-07-17 21:00"
>>> moment('07-18-2013 12:00', 'MM-DD-YYYY HH:mm').utc().format("YYYY-MM-DD HH:mm")
"2013-07-18 09:00"
>>> Date()
"Thu Jul 25 2013 14:28:45 GMT+0300 (Jerusalem Daylight Time)"
날짜-시간 문자열을 UTC로 해석하려면 명시해야합니다.
>>> moment(new Date('07-18-2013 UTC')).utc().format("YYYY-MM-DD HH:mm")
"2013-07-18 00:00"
매트 존슨은 그의 대답에 언급 또는, 당신은 (수 아마도한다 )를 사용하여 첫 번째 장소에서 UTC 날짜로 구문 분석 moment.utc()
과 모호성을 방지하기 위해 두 번째 인수로 형식 문자열을 포함한다.
>>> moment.utc('07-18-2013', 'MM-DD-YYYY').format("YYYY-MM-DD HH:mm")
"2013-07-18 00:00"
다른 방법으로 UTC 날짜를 현지 날짜로 변환하려면 local()
다음과 같이 메서드를 사용할 수 있습니다 .
>>> moment.utc('07-18-2013', 'MM-DD-YYYY').local().format("YYYY-MM-DD HH:mm")
"2013-07-18 03:00"
toString()
후format()
(이미 문자열을 반환).