使用Javascript获取实际的日期和时间

时间:2019-05-22 11:54:03

标签: javascript html date

我正在开发一个网站,针对某个特定事件的注册将在某个日期(例如January 1, 2019)打开,并在另一个日期(例如January 10, 2019)关闭。如果用户尝试在1月1日之前或1月10日之后访问相关页面,我将使用JavaScript将其重定向到相关页面。

到目前为止,我的代码:

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,即使现在是5月,我也可以访问实际的注册页面。

对于许多人来说,这是一个普遍的问题,但是我一直无法找到解决方案。如何获取我所在国家(印度)的 REAL 日期和时间,而不是设备时间?

TL; DR

如何使用JavaScript获取某个国家/地区(例如印度)的实际日期和时间?如果我不能使用香草JS,还有其他方法可以使用吗?

PS :如果您有任何解决方案只能使用比更改设备时间更复杂的方法来绕开,我会很乐意接受。整个网站仅用于高中活动,所以我不希望任何熟练的黑客都花时间在此上:)

2 个答案:

答案 0 :(得分:0)

此代码将获取日期(如30日),月份和年份。这使用new Date();变量类型。它有多种用途,您可以使用new Date(year, month, day, hours, minutes, seconds, milliseconds)之类的东西以任何顺序获得输出。它将输出类似Wed May 22 2019 10:46:32 GMT-0400(Eastern Daylight Time)的信息。

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

答案 1 :(得分:-1)

您应该看看this topic,因为它似乎仅使用普通JS即可解决您的问题。希望对您有所帮助:)