服务器端和客户端时区的日期时间差异

时间:2016-02-01 06:20:26

标签: javascript c# asp.net server

我有一个Web应用程序,我的服务器在美国托管,我的客户端来自印度。我有一个日期时间选择器,我在服务器上验证客户端和服务器日期时间是否匹配,但问题是由于客户端和服务器的不同时区而导致无效。如何解决日期时间问题

2 个答案:

答案 0 :(得分:1)

在您的浏览器中将时间转换为UTC并处理UTC(除了向用户显示除外)并以完整的ISO8601格式向服务器发送日期,因此当服务器解析时,它将能够转换为其本地时区:

// JavaScript: myDateTimeValue should be of type Date
var utcDateTimeAsString = myDateTimeValue.toISOString();

要么将此设置为将发送到服务器的隐藏字段(如果使用常规回发),要么只是作为AJAX请求的一部分发送。

服务器端 - 定期解析此类字符串将生成对应于相同绝对时间的有效本地日期:

// C# parsing of result of JavaScript call: (new Date()).toISOString();
DateTime localTime = DateTime.Parse("2016-02-01T06:38:05.609Z");

如果您决定手动处理时区,则链接:

答案 1 :(得分:-3)

更改服务器的日期时间设置以匹配印度时区而非美国。