我正在开发一个 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/