2012-06-17 7 views
0

вот мой вопрос:Bind событий отметку времени в JavaScript

У меня есть сайт, который не работает только в ночное время (после 21:00 до 24:00) У меня есть кнопка с надписью «Enter», но я хочу эту кнопку до alert() сообщение, такое как 'The website is not available yet'.

Но для этого он должен проверить время, чтобы в псевдокоде:

if (time is less more than 21:00 and less than 24:00) { 
    return true; 
    } else { 
     alert('the website is not available yet'); 
     e.preventDefault; 
     return false; 
    } 

Но я не понимаю, как я могу сделать это в разнице во времени сроков, в любой день, любой намек?

спасибо, ребята!

+1

21:00 UTC, определенный часовой пояс, или что? Кроме того, обратите внимание, что 00:00 меньше, чем 21:00, что происходит в полночь? –

ответ

3
new Date().getHours() 

возвратит текущий час (13, когда я пишу это в 13:42). Однако это решение имеет ряд недостатков:

  • он использует системное время, изменения времени на компьютере обманет ваш скрипт
  • использует часовой пояс системы, считают getUTCHours()
  • его можно легко обойти путем отключения JavaScript или изменения сценария на лета

Таким образом, рассмотрит выборку времени с сервера при отображении страницы и повторяющегося испытание на стороне сервера, когда пользователь вводит (чтобы убедиться, что CHEC k не был обойден).

+0

Это действительно интересно, мне нужно отредактировать сообщение. В фактах сайт работает от 21 до 24, как я могу проверить, что это время – nick

+1

@ graphtheory92: 'if (new Date(). GetHours() <21)' ??? –

+0

спасибо за ограничения, веб-сайт является внутренним, тогда нет проблем для этого :) нет хакеров – nick