Moment.js 및 Moment-Timezone 프레임 워크를 사용하고 UTC 시간대로 명시 적으로 표시되는 Moment.js 날짜 개체가 있습니다. 브라우저의 현재 시간대로 어떻게 변환 할 수 있습니까?
var testDateUtc = moment.tz("2015-01-30 10:00:00", "UTC");
var localDate = ???
따라서 사용자의 현지 시간대를 알 수 있다면 괜찮을 것입니다. 또는 실제로 날짜에 관계없이 “현지 시간대”를 사용하는 다른 데이터 개체로 날짜 개체를 변환하고 싶습니다.
답변
이를 위해 순간 시간대를 사용할 필요가 없습니다. 주요 moment.js 라이브러리에는 UTC 및 현지 시간대 작업을위한 모든 기능이 있습니다.
var testDateUtc = moment.utc("2015-01-30 10:00:00");
var localDate = moment(testDateUtc).local();
여기에서 기대할 수있는 모든 기능을 사용할 수 있습니다.
var s = localDate.format("YYYY-MM-DD HH:mm:ss");
var d = localDate.toDate();
// etc...
전달하여 유의 testDateUtc
A는 어떤 moment
개체는 다시 moment()
생성자, 그것이 생성 클론 . 그렇지 않으면를 호출 .local()
하면 testDateUtc
값 대신 값 도 변경 됩니다 localDate
. 순간은 변경 가능 합니다.
또한 원래의 입력이 포함 된 경우 시간대는 오프셋 (offset) 참고 +00:00
또는 Z
, 당신은 단지와 직접 구문 분석 할 수 있습니다 moment
. .utc
또는 을 사용할 필요가 없습니다 .local
. 예를 들면 :
var localDate = moment("2015-01-30T10:00:00Z");
답변
var dateFormat = 'YYYY-DD-MM HH:mm:ss';
var testDateUtc = moment.utc('2015-01-30 10:00:00');
var localDate = testDateUtc.local();
console.log(localDate.format(dateFormat)); // 2015-30-01 02:00:00
- 날짜 형식을 정의하십시오.
- moment 객체를 만들고 객체에서 UTC 플래그를 true로 설정합니다.
- 원래 모멘트 객체에서 변환 된 현지화 된 모멘트 객체를 만듭니다.
- 현지화 된 순간 객체에서 형식화 된 문자열을 반환합니다.
참조 : http://momentjs.com/docs/#/manipulating/local/
답변
내가 한 일은 다음과 같습니다.
var timestamp = moment.unix({{ time }});
var utcOffset = moment().utcOffset();
var local_time = timestamp.add(utcOffset, "minutes");
var dateString = local_time.fromNow();
{{ time }}
utc 타임 스탬프는 어디에 있습니까 ?
답변
utcOffset 함수를 사용하십시오.
var testDateUtc = moment.utc("2015-01-30 10:00:00");
var localDate = moment(testDateUtc).utcOffset(10 * 60); //set timezone offset in minutes
console.log(localDate.format()); //2015-01-30T20:00:00+10:00