javascript - 服务器端和客户端的时区偏移量不同

标签 javascript asp.net timezone-offset

我正在开发一个 Web 应用程序,其中日期时间以 UTC 格式存储在数据库中。现在,当我检索要在 UI 中显示的日期时间时,我必须将日期时间转换为用户使用应用程序时的特定时间。

为了将时间从 UTC 转换为特定的本地时间,我做了一些演示研究。我找到了两种转换时间的方法。一个来自服务器端,另一个来自客户端。在服务器端我使用 ASP.NET,在客户端我使用 JavaScript。但问题是答案并不相同。

我给出代码。

服务器端:

Label1.Text = TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).ToString();

客户端:

$(document).ready(function () {
    var offset = new Date().getTimezoneOffset();
    $('#Label1').text(offset / 60);
});

对于服务器端代码,它在标签中显示 05:30:00。 对于客户端代码,它在标签中显示 -5.5。

我的问题是为什么这两个 UTC 偏移量不同??

最佳答案

偏移量的格式不同。
服务器端示例似乎是一个类似 Date 的对象。客户端版本似乎是 int (330)。

不过,这些值似乎是匹配的。

查看the specification ,您的服务器端代码返回一个 TimeSpan 对象,while your JavaScript确实返回一个整数。

关于javascript - 服务器端和客户端的时区偏移量不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13838825/

相关文章:

c# - Asp.net 在 PostBack 上动态重新创建列表框

php - javascript getTimezoneOffset() 函数返回准确的 UTC 偏移量是否可靠?

c# - UTC 日期时间转换为本地时间

javascript - 上传图像 - 它们中是否有域名 - chrome 不发送 session ID

c# - HttpUtility.HtmlEncode 不工作

javascript - q.allSettled 有默认超时吗?

asp.net - 如何在 Asp.Net MVC3 中单击注销时删除 cookie

javascript - Angular-Ui Bootstrap Popup DatePicker 的 ngModelOptions 的时区属性

javascript - 打开新的基础元素时出现 "Uncaught TypeError: a.indexOf is not a function"错误

javascript - 如何选中/取消选中具有值属性的复选框输入?