2017-10-16 16 views
1

를 반환하지 않습니다순간 시간대 형식은 다음과 <a href="https://momentjs.com/timezone/" rel="nofollow noreferrer">moment-timezone</a>에서 <code>tz()</code> 기능을 사용하면 예상 된 결과

moment.tz('2017-10-15 13:53:43','Asia/Hong_Kong').format() 
//returns '2017-10-15T13:53:43+08:00' 

moment.tz('2017-10-15 13:53:43','Asia/Hong_Kong').format('h:m A') 
//I expect to return '9:53 PM' but it returns '1:53 PM' 

궁극적으로, 나는 결과를 포맷 할 수있는 fromNow() 기능을 적용 할. 그러나 적용 할 때 초기 타임 스탬프를 사용하고 적용되는 표준 시간대를 무시합니다.

moment.tz('2017-10-15 13:53:43','Asia/Hong_Kong').fromNow() 
//I expect to return '1 min ago' when actual time is 13:54 UTC (21:54 in HK) but it returns '8 hours ago' 

여기서 내가 뭘 잘못하고 있니?

+0

이 질문에 어떤 문제가 있습니까? 몇 시간 동안이 주제를 봤 거든 위의 방법이 맞는 것 같습니다. 그러나 나는 기대 한 결과를 얻지 못했다. 누구든지 올바른 방향으로 나를 인도 할 수 있거나 downvote의 경우에 설명하면 도움이 될 것입니다. – sbkl

+0

'moment.tz ('2017-10-15 13:53:43', 'Asia/Hong_Kong')'은 홍콩 ** 1 : 53 PM **에 해당하는 날짜/시간을 만듭니다. 'format' 메쏘드는이 같은 값을 출력하기 때문에, 왜 오후 9시 53 분을 출력으로 기대하는지 명확하지 않습니다. –

+0

또한 질문을 편집하고 fromNow()를 사용하는 코드를 입력하고 예상 예제와 예상 결과를 추가 할 수 있습니까? * "초기 타임 스탬프를 사용하고 적용된 표준 시간대를 무시합니다"*라는 의미는 내게 명확하지 않습니다. –

답변

1

당신이 할 때 : 당신은 홍콩에 1:53 PM에, 2017 번째 10월 15일 에 해당하는 날짜/시간 만들

moment.tz('2017-10-15 13:53:43','Asia/Hong_Kong'); 

- 어떤 차례로, 대응을 2017-10-15T05:53:43Z (5:53 AM in UTC).

moment.tz('2017-10-15 13:53:43','Asia/Hong_Kong').format(); 

그것은 반환 :

2017-10-15T13 : 53 : 43 + 8 : +08:00 부분은 00

당신이 format() 함수를 호출

UTC offset - 그냥 그게 Hong Kong is 8 hours ahead UTC 알려줍니다. 그러나 2017-10-15T13:53:43+08:00 (오후 1시 53 분, 홍콩)은 2017-10-15T05:53:43Z (5:53 AM UTC)과 정확히 같습니다. 따라서 fromNow()은 현재 시간이 13:54 UTC 일 때 8 시간을 반환합니다. 현재 시간이 세계 협정시 13시 54분 때, 이제

// October 15th 2017, 1:53 PM in UTC 
moment.utc('2017-10-15 13:53:43'); 

: 당신은 UTC오후 1시 53분에 해당하는 날짜/시간을 원하는 경우

, 당신은 utc() 기능을 사용한다 , fromNow()은 1 분을 반환합니다 (날짜/시간이 오후 1시 53 분, UTC는이므로).

홍콩 시간대에이 변환하려면, 단지 tz() 기능을 사용

// convert 1:53 PM UTC to Hong Kong timezone (9:53 PM) 
moment.utc('2017-10-15 13:53:43').tz('Asia/Hong_Kong').format('h:m A'); 

이 홍콩 시간대에 1:53 오후 UTC 변환됩니다 (오후 9시 53분 결과)

+0

솔루션 및 설명 주셔서 감사합니다! – sbkl

+0

@sbkl 도와 주셔서 감사합니다. –