2014-10-08 5 views
1

arround 또는 수정 작업을 할 수있는 이상한 JavaScript 버그가 있습니다.자바 스크립트 날짜 문제, 잘못된 시간대

일정 구성 요소에 이벤트를 삽입하기 위해 2 개의 JavaScript 날짜를 만들기 위해 일부 코드를 사용하고 있습니다.

var endDate = new Date(); 
var startDate = new Date(); 

startDate.setDate(startDateDay); 
startDate.setMonth(startDateMonth); 
startDate.setFullYear(startDateYear); 
startDate.setHours(2, 0, 0, 0); 

endDate.setDate(endDateDay); 
endDate.setMonth(endDateMonth); 
endDate.setFullYear(endDateYear); 
endDate.setHours(2, 0, 0, 0); 

그래서 날짜가 내장되어 사용하여 정수 : 날짜는 다음과 같은 방법을 내장하고 있습니다. 이 정수는 입력에 의해 결정되며 디버거를 사용하면 100 % 양수 값을 올바르게 볼 수 있습니다. 이제 3 개의 연습을 설명합니다. 2는 올바르게 진행되고 1은 잘못 처리됩니다. 다음 입력하여


:

endDateDay = 20 
endDateMonth = 9 
endDateYear = 2014 

는 결과로서 다음 날짜 오브젝트를 제공합니다

endDateDay = 13 
endDateMonth = 9 
endDateYear = 2014 
:

Tue Oct 20 2014 02:00:00 GMT+0200 (W. Europe Daylight Time) 

이 입력을 사용하여 당신으로

Mon Oct 27 2014 02:00:00 **GMT+0100** (W. Europe Standard Time) 

: 결과로 다음과 같은 날짜 객체를 제공

endDateDay = 27 
endDateMonth = 9 
endDateYear = 2014 

:이 입력을 사용하여, 지금

Tue Oct 13 2014 02:00:00 GMT+0200 (W. Europe Daylight Time) 

:

는 결과로 다음과 같은 날짜 객체를 제공합니다 몇 가지 이상한 이유 때문에 TimeZone이 꺼져 있음을 알 수 있습니다. 이것은 내 응용 프로그램에서 오류를 제공하고 그것을 고정시킬 수있는 방법을 찾아야합니다. 그러나, 나는 그것이 실제로 일어나고있는 이유를 이해할뿐만 아니라, 그것에 대한 해결책을 찾을 수 없습니다.

PS : 나는 구글 크롬

+1

어떤 식 으로든 꺼져 있습니까? 서유럽의 시계는 10 월 26 일에 표준 시간으로 돌아갑니다. 당신은 무엇을 기대 했습니까? –

+0

tiemzones에서 하나는 ** Daylight ** 시간이고, 다른 하나는 ** 표준 ** 시간입니다 (표준 시간대 이름은 이전과 다를 수 있음). – RobG

답변

2

을 사용하고는 대답은 참으로 내가 completly 감독 일광 절약 시간의 차이였다. 이 문제를 발견 한 덕분에 문제도 해결할 수있었습니다.

나는 그것이 미래에 누군가가 도움이 될 수도, 더 나에게 도움이 링크를 사용 : http://javascript.about.com/library/bldst.htm

건배!