Получить фактическую дату и время с помощью Javascript - PullRequest
0 голосов
/ 22 мая 2019

Я разрабатываю веб-сайт, на котором регистрация на определенное событие открывается в определенную дату (скажем, January 1, 2019) и закрывается в другую дату (скажем, January 10, 2019).Я использую JavaScript для перенаправления пользователей на соответствующие страницы, если они пытаются получить доступ к нему до 1-го или после 10 января.

Пока мой код:

var d = new Date();
var startDate = new Date(2019, 0, 1, 8);
var endDate = new Date(2019, 0, 10, 23, 59);

if(endDate-d<0) // Past expiration date
    window.location = "register-closed.html";

else if(startDate-d > 0) // Before starting
    window.location = "register-unavailable.html";

главная проблема, как вы могли догадаться, заключается в том, что этот код получает локальную дату и время от пользователя;если я установлю дату на своем устройстве как 2nd January, 2019, я смогу получить доступ к реальной странице регистрации, даже если сейчас май.

Я чувствую, что это будет распространенной проблемой для многих, но яМы не смогли найти решение этой проблемы.Как получить REAL дату и время для моей страны (Индии) вместо времени устройства?

TL; DR

Как получить фактическую дату ивремя для страны (в моем случае, Индии) с использованием JavaScript?Если я не могу использовать vanilla JS, есть ли другой способ сделать это?

PS : Если у вас есть какие-либо решения, которые можно обойти только с помощью более сложных методов, чем смена устройствавремя, я с готовностью приму их.Весь этот сайт предназначен только для школьных мероприятий, поэтому я не ожидаю, что опытные хакеры будут тратить на это свое время:)

Ответы [ 2 ]

0 голосов
/ 22 мая 2019

Этот код получит дату (как в 30-м), месяц и год.При этом используется тип переменной new Date();.Он имеет несколько применений, и вы можете получить вывод в любом порядке, используя что-то вроде new Date(year, month, day, hours, minutes, seconds, milliseconds).Это вывело бы что-то вроде ср. 22 мая 2019 10:46:32 GMT-0400 (восточное дневное время).

var todaysDate = new Date();

var date = todaysDate.getDate();
var month = todaysDate.getMonth(); 
var year = todaysDate.getFullYear();
if(date === 10 || month === 0 || year === 2019){
//January is 0 because counting starts at 0
...
}

https://www.w3schools.com/jsref/jsref_obj_date.asp

0 голосов
/ 22 мая 2019

вам следует взглянуть на эту тему , поскольку она, кажется, отвечает на вашу проблему, используя только vanilla JS. Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...