2016-10-14 4 views
0

timestamp를 사용하여 새 Date 객체를 만듭니다. 해당 개체를 인쇄하면 올바른 날짜와 시간을 반환합니다. 하지만 getDate() 및 getTime()을 사용하려고하면 잘못된 번호가 반환됩니다.자바 getDate() 및 getMonth()가 잘못된 결과를 반환합니다.

내 코드 :

var textDate = new Date(timestamp); 

console.log(timestamp); 
console.log(textDate); 
console.log(textDate.getDate(),textDate.getMonth(),textDate.getFullYear()); 

내 콘솔 결과 :

1476483081000 
Date 2016-10-14T22:11:21.000Z 
15 9 2016 

가 어떻게 올바른 날짜와 달 textDate 변수에서받을 수 있나요? 당신이 날짜를 인쇄 할 때

+1

달이 0부터 시작하여 10 월이 실제로 '9'이고 날짜가 아마도 시간대로 조정됩니다. – adeneo

+0

중복 : [javascript date to string] (http://stackoverflow.com/) 질문/5914020/javascript-date-to-string) – jedi

+0

월이 맞습니다. getUTCDate() 및 getUTCHours()를 사용하면 날짜 문제가 해결되었습니다. 고맙습니다! –

답변

0

속하는 getMonth() 메서드는 시간대에 의존, 0에서 11

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMonth

에 달 반환합니다. GMT에서 2 시간이 떨어진 시간대에있는 경우 22:11이 새로운 날로 바뀔 수 있습니다. 이것이 아마도 getDate()가 dext day를 반환하는 이유 일 것입니다.

+0

시간대에 문제가 있습니다. getUTCDate()로 해결되었습니다. 감사! –

+0

시간대가 신경 쓸 일이 없다면 처음에 타임 스탬프에서 제거하십시오 :'new Date (timestamp - new Date(). getTimezoneOffset())' – Simon