服务器和客户端时区上的日期时间差异
Datetime difference on server and client side timezone
我有一个Web应用程序,其中我的服务器托管在美国,我的客户端来自印度。我有一个日期时间选择器,我在服务器上验证客户端和服务器日期时间是否匹配,但问题是由于客户端和服务器的不同时区,它会导致无效。 如何解决日期时间问题
在浏览器中将时间转换为 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");
如果您决定手动处理时区,则链接:
- 在 JavaScript 中将本地转换为 UTC - 如何将 JavaScript 日期转换为 UTC?
- 如果需要在服务器端呈现值,则获取时区偏移量 - 如何在javascript中获取UTC偏移量(类似于C#中的TimeZoneInfo.GetUtcOffset)
- 在 JavaScript 中将 UTC 转换为本地 - 使用 JavaScript 将 UTC 日期时间转换为本地日期时间
更改服务器的日期时间设置以匹配印度时区而不是美国时区。
相关文章:
- 比较从函数和生成的日期对象
- Json数据包含日期和时间格式
- Javascript日期格式类似于ISO,但本地
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 如何在JavaScript中延长当前日期
- 两位数的月份日期验证
- 更改angularjs中的日期-时间格式
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 将日期时间从json转换为可读格式
- NodeJS日期格式不起作用
- jquerydatetimepicker日期和时间应在框默认值中,而无需单击框
- 使用当前日期生成随机id
- primefaces日历可以禁用过去的日期和时间吗
- 用时间戳获取两个不同日期之间的时间差
- 用HH:MM:SS javascript计算两个日期之间的时间差
- 我想比较日期和时间,并在angularjs中显示时间差
- 如何在moment.js中显示unix时间戳和当前日期之间的时间差
- 时间差给出无效日期
- JavaScript/jQuery日期时间差
- 如何比较日期& &;时间,获取时间差,然后在Javascript中将其设置为秒