2014-04-03 4 views
1

자바 스크립트 또는 jQuery를 사용하여 해결해야 할 두 가지 문제가 있습니다.자바 스크립트 시간 비교

1) 현재 시간이 오전 7시에서 오후 7시 사이인지 여부를 테스트해야합니다.

var now = new Date(); 
if (now >= *7am* && now < *7pm*){} else {} 

2) 문서가로드 될 때마다 오전 7시와 오후 7시에 매일 실행되는 기능이 필요합니다.

도움을 주시면 감사하겠습니다.


해결 된 파트 2는 15 분마다 시간 확인을 실행합니다.

var currentHour = (new Date()).getHours(); 
if (currentHour >= 7 && currentHour < 19) { /* stuff */ } else { /* other stuff } 

:

var checkTime = setInterval(myFunction(), 900000); 
+0

현지 시간 또는 특정 시간대를 찾으십니까? – attila

+0

@attila 현지 시각. –

+0

다음은 제안입니다. Stack Overflow에서 파트 1과 파트 2 대신에 별도의 질문을 좋아합니다. 그런 식으로 다른 사람들에게 더 유용합니다. 질문의 두 번째 부분은 정말 흥미 롭습니다. 15 분마다 점검하는 것보다 확실한 해결책이 있습니다. –

답변

1

에서 사용자 환경의 로컬 시간대에 따라 0에서 23 사이의 정수로 특정 시간을 검색 할 수 var currentHour = (new Date()).getHours();을 사용할 수 있습니다 UTC를 얻으려면 .getUTCHours() 메서드가 있습니다.

관심이 있으시면 설명서에 자세한 내용이 있습니다. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getHours

+0

아니, 왜 그러 겠어? 0 == 자정, 1 == 1am, ... 7 = 7am. – L0j1k

+0

죄송합니다. 내 의견을 삭제했지만, 예, 시간이 0에서 시작하지 않는다는 것을 깨닫지 못했습니다. –

+0

매일 오전 7시와 오후 7시에 자동으로 실행되는 기능에 대한 의견이 있으십니까? –

1

Date.getHours

$(function(){ 
    var now = new Date(); 
    var hours = now.getHours(); 
    if (hours >= 7 && now < hours < 19){} else {} 
}); 
+0

"now.getHours()"를 잘못 입력했습니다. 그러나 답변을 주셔서 감사합니다. –