2017-05-17 2 views
0

입력 날짜에 특정 시간대가있는 문자열이 있습니다. 예를 들면 :날짜를 이동하지 않고 날짜를 현지 시간대로 바꿈

Sat May 20 2017 17:00:00 GMT-0300 (-03)

내가 시간을 변환하지 않고 내 로컬 시간대에이 날짜의 시간대를 변경하고 싶습니다. 마치 입력 한 날짜가 올바른 시간대에있는 것처럼.

Sat May 20 2017 17:00:00 GMT+0200 (CEST)

나는 순간 주변에 놀고이 발견

const date = moment(moment.utc('Sat May 20 2017 17:00:00 GMT-0300 (-03)').format('LLL'))

가 그것을 할 수있는 간단한 방법이 있나요? 나는 순간 객체의 사본을 좋아하지 않지만 "단일 샷"으로 그것을 수행하는 방법을 찾을 수 없습니다.

답변

3

현지 시간으로 입력 내용을 구문 분석하려면 단순히 moment(String, String) 기능을 사용하면됩니다. docs은 다음과 같이 말합니다 :

기본적으로 순간은 분석되어 현지 시간으로 표시됩니다. 여기

라이브 샘플 :

var input = 'Sat May 20 2017 17:00:00 GMT-0300 (-03)'; 
 
var m = moment(input, 'ddd MMM DD YYYY HH:mm:ss'); 
 
console.log(m.format());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>

+1

감사합니다. 여기에서 중요한 것은 입력 형식을 지정하여 시간대 파싱을 제거하는 것입니다. 결코 그것에 대해 생각하지 않았습니다. – Kerumen

관련 문제