Javascript equlivent 到 .Net TimeZoneInfo.ConvertTimeBySystemTimeZoneId

标签 javascript datetime timezone

在 .Net 中,我可以使用以下内容来计算指定时区的时间:

var targetDate = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "Atlantic Standard Time");

我一直在尝试找出一种在 Javascript 中执行此操作的方法,但到目前为止还没有成功。我能够找到以下内容:http://www.techrepublic.com/article/convert-the-local-time-to-another-time-zone-with-this-javascript/其中有一些细节,如果我可以指定一个偏移量,但我似乎无法弄清楚如何从指定的时区获取它(从 currentTimezone 就像 myDate.getTimezoneOffset() 一样简单)。

同样在 .Net 中我可以这样做:

TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById("Atlantic Standard Time");
TimeSpan offset = tzi.GetUtcOffset( myDateTime);

最佳答案

JavaScript 本身无法做到这一点。你需要一个图书馆。我为此提供了几个不同库的列表 here .

同时认识到“大西洋标准时间”是 Microsoft 时区标识符。您需要使用等效的 IANA 时区,即“美国/哈利法克斯”。您可以在 timezone tag wiki 中阅读更多内容,在“时区数据库”下。如果您需要从 Microsoft 标识符进行转换,则必须使用 Noda Time 在您的 .NET 代码中执行此操作,如我所述here .

这是一个使用 moment-timezone 的例子:

(为了便于阅读,有意分成单独的语句)

var now = moment();
var atlantic = now.tz("America/Halifax");
var s = atlantic.format();

关于Javascript equlivent 到 .Net TimeZoneInfo.ConvertTimeBySystemTimeZoneId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19496352/

相关文章:

java - Android 中的时区问题

javascript - 第一个 Javascript 程序。我究竟做错了什么?

javascript - 无法让 CSS list-group-horizo​​ntal 填充容器并居中

javascript - jQuery 如何检索和警报 JSON 数据

java - 哪种 MySQL 类型最能存储时间点信息 - 日期时间或时间戳

python - 如何在给定时区运行 python(从外部更改时区)?

javascript - 有哪位天才能告诉我这段小代码是怎么回事吗?来自 JavaScript 忍者的 secret

java - 将字符串转换为本地日期

python - Pandas:将小数月份转换为日期时间

javascript - 以本地时区解析 JavaScript 日期