首页 > 解决方案 > 伦敦时区

问题描述

我正在尝试对给定城市(例如伦敦)使用单个时区,因此无论夏令时如何,我都可以始终在给定的伦敦时间运行任务。

所以,简而言之

任务可以在冬季和夏季伦敦时间下午 4 点运行。

我使用中央标准时间为纽约设置了一项任务,但我可以看到我的任务在一周后开始执行纽约夏令时后一个小时。

有谁知道代表城市当地时间的.Net是否存在这样的单一时区?

我不想使用 BST 和 GMT,因为我需要配置两次。

希望我的问题是有道理的。

标签: .nettimezonetimezone-offset

解决方案


伦敦的 Windows 时区 ID 是"GMT Standard Time"。是的,这个名字令人困惑,但它确实正确地代表了英国使用的 GMT 和 BST,以及它们之间的转换。

但是,如果您在非 Windows 操作系统上运行 .NET Core,则需要改用 IANA 时区 ID "Europe/London"

这两种TimeZoneInfo.FindSystemTimeZoneById方法都可以在各自的操作系统上使用该方法。

最后,如果您将代码设计为跨平台的,您可能希望使用我的TimeZoneConverter库,它允许您在任何平台上使用任一形式的标识符。


推荐阅读