假设美国加州的用户选择了日期,时间和时区:
全球啤酒马拉松将于2013年8月15日上午10:00开始,UTC-08:00
中欧的另一个用户打开显示此日期和时间的页面.他不想做时间计算(已经喝了很少的啤酒).他只是想看看这个日期和时间:
2013年8月15日19:00
鉴于浏览器收到加州用户输入的日期和时间信息:
有没有办法在javascript中没有外部Web服务来进行正确的转换?也就是说,要检测到UTC时间上午10点UTC-08:00实际上应该是UTC-07:00上午10点,因为它是夏令时.
也许我从一开始就对此有了错误的理解,但我不想让进入的用户考虑是否应该选择UTC-08:00(太平洋标准时间)或UTC-07:00(PDT).我假设由于CA中的标准时区是PST,人们不会在夏天转向思考PDT.或者他们?!
在中欧,标准日期为UTC + 01:00,夏令时为UTC + 02:00.因此,CA和欧洲之间的差异应该是9小时,除了一年中的两个时段,当一个或另一个区域在标准和夏令时模式之间切换时.
更新:
经过一番思考和阅读评论后,我理想需要的是:
var utcOffset = f('2013-08-15T10:00', 'America/Los_Angeles');
// utcOffset == "-07:00"
var utcOffset = f('2013-11-15T10:00', 'America/Los_Angeles');
// utcOffset == "-08:00"
Run Code Online (Sandbox Code Playgroud)
到目前为止,看起来像Guido Preite建议的moment.js/timezone插件能够做到这一点(或多或少).
还有其他任何方式,使用浏览器API?
如何将我的时区中的当前时间(日期时间)转换为另一个时区,比如说法国?我环顾四周,但没找到任何可以帮助我的帖子.我正在使用SQL Server 2008.
如何在 Dart 中将当前时间转换为 GMT/UTC 时间,类似于 javascript 方式new Date().toUTCString()::
2011 年 11 月 1 日,星期二 19:06:35 GMT
我尝试了几个格式化程序,如下所示,但它不起作用
//var f = DateFormat('E, d MMM yyyy HH:mm:ss z');
var f = DateFormat('E, d MMM yyyy HH:mm:ss');
var date = f.format(DateTime.now());
Run Code Online (Sandbox Code Playgroud)