Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 跨时区的日期验证_Javascript_Ajax_Date_Timezone - Fatal编程技术网

Javascript 跨时区的日期验证

Javascript 跨时区的日期验证,javascript,ajax,date,timezone,Javascript,Ajax,Date,Timezone,这听起来可能微不足道。这是我想要的 我有一个名为“评估日期”的数据库字段,该字段不应大于今天的日期。我在html页面中执行验证,然后将日期作为JSON字符串发送到ASP.Net应用程序进行保存。此服务器应用程序可能位于不同的时区 显然,我必须在服务器上再次执行日期验证。如果用户在日本指定日期为2009年6月20日。HTML验证将通过。然而,当它到达美国的服务器时(日期仍然是2009年6月19日),它将失败 出生日期的类似验证。它应验证日期至少为18岁。但是,当在web上显示时,无论用户在哪里看到

这听起来可能微不足道。这是我想要的

我有一个名为“评估日期”的数据库字段,该字段不应大于今天的日期。我在html页面中执行验证,然后将日期作为JSON字符串发送到ASP.Net应用程序进行保存。此服务器应用程序可能位于不同的时区

显然,我必须在服务器上再次执行日期验证。如果用户在日本指定日期为2009年6月20日。HTML验证将通过。然而,当它到达美国的服务器时(日期仍然是2009年6月19日),它将失败

出生日期的类似验证。它应验证日期至少为18岁。但是,当在web上显示时,无论用户在哪里看到它,它都应该始终显示相同的日期。出生日期在日本可能是18岁,但在服务器中可能不是。它仍应存储,但当它显示正确的日期时,应显示正确的日期

datetime没有问题,因为在这种情况下我将使用UTC时间

关于如何验证、保存和显示正确的日期,有什么想法吗


谢谢

您可以使用getTimezoneOffset()首先获取客户端中的时区,然后将值作为参数发送回去。然后,服务器端可以使用此时区偏移量进行计算

var d = new Date();
alert(d.getTimezoneOffset());

您可以在后端保存时间戳,并根据前端的本地时区验证日期。这在处理不同时区的场景中效果很好