我将特定时区的日期时间作为字符串,我想将其转换为本地时间.但是,我不知道如何在Date对象中设置时区.
例如,Feb 28 2013 7:00 PM ET,我可以
var mydate = new Date();
mydate.setFullYear(2013);
mydate.setMonth(02);
mydate.setDate(28);
mydate.setHours(7);
mydate.setMinutes(00);
Run Code Online (Sandbox Code Playgroud)
据我所知,我可以设置UTC时间或本地时间.但是,我如何在另一个时区设置时间?
我试图使用添加/减去UTC的偏移量,但我不知道如何应对夏令时.我不确定我是否正朝着正确的方向前进.
如何在javascript中将时间从不同的时区转换为当地时间?
例如,使用日期和时间控件,用户选择日期和时间,以便字符串表示如下:
"6-25-2012 12:00:00 PM"
Run Code Online (Sandbox Code Playgroud)
碰巧这个用户在EST时区.该字符串将传递给服务器,服务器将其转换为.NET DateTime对象,然后将其存储在SQL Server的datetime列中.
当日期稍后返回浏览器时,需要将其转换回日期,但是当上述字符串被送入日期时,它将失去4小时的时间.我相信这是因为在创建JavaScript日期时没有指定时区时,它默认为当地时间,而且由于格林威治标准时间是-400,它从中午12点减去4小时,即使下午12点意味着指定为EST时用户在EST时区的机器上选择它.
显然,在将原始日期时间字符串传递给要保留的服务器之前,需要将其添加到原始日期时间字符串中.这样做的推荐方法是什么?
我正在阅读很多关于时区,偏移,utc,当地时间,javascript函数,DST,培根的内容,而我正试图将这些内容整合在一起,为我的应用程序构建一个可靠/正确的结构.
假设我的应用程序类似于StackOverflow.
这就是我在做的......
DateTimeOffset.TimeZoneID.2012-07-19T14:30:00-03:00.我有几个问题......
关于我的服务器(单个服务器)......它应该以"中性"UTC(+00:00)运行吗?如果将来我们迁移到服务器在不同位置运行的服务器场,该怎么办?
目前,我正在将日期存储为DateTimeOffset.我正在阅读关于保存的内容,TimeZoneID但我认为没有任何用处.我错过了什么吗?
或者我应该像DateTimeUtca 一样存储日期TimeZoneID并手动转换每个日期与TimeZone班级?
在客户端上转换数据是否安全?或者日期转换应该始终在服务器端?
使用我目前的方法.DST会受到尊重吗?