我将UTC日期时间存储在SharePoint列表中并在c#中获取它的值,从1970年1月1日开始转换为毫秒,并将这些毫秒传递给JavaScript以获取日期对象。
但是当我创建一个日期对象时,它的值与UTC日期保持一致,我希望该值在用户本地时区并反映其夏令时状态。
答案 0 :(得分:0)
您可以在javascript中使用TimezoneOffset,请检查以下代码,
var d = new Date()
var n = d.getTimezoneOffset();
通过这种方式,您可以根据需要计算时间。
如果您需要更多详细信息,请与我们联系:)
答案 1 :(得分:0)
当您在Javascript中创建新日期时,我假设您在客户端/客户端计算机上创建它:
var d = new Date(millis);
无论你在哪里构造Date对象,这个值在UTC中保持不变的概念都是正确的,这只是你如何显示日期的问题:UTC或用户的本地时区:
您可以运行此代码来查看差异:
var local = date.toDateString() + ' ' + date.toTimeString();
var utc = date.toUTCString();
alert(local);
alert(utc);
请注意,millis的值是自1970-01-01 00:00:00 UTC 以来经过的毫秒数,无论您身在何处。在地球的两个相对侧调用new Date().getTime()
应该返回相同的毫秒数。