我正在尝试为给定城市使用单个时区,例如伦敦,所以无论夏令时如何,我都可以在给定的伦敦时间执行任务。
所以,简而言之
任务可以在伦敦时间下午4点在冬季和夏季运行。
我使用中央标准时间为纽约设置任务,但我可以看到自从纽约夏令时开始一周后,我的任务正在运行一小时。
有谁知道.Net是否存在代表城市当地时间的单一时区?
我不想使用BST和GMT,因为我需要配置两次。
希望我的问题有道理。
伦敦的Windows时区ID是"GMT Standard Time"
。是的,名称令人困惑,但确实正确地表示了英国使用的GMT和BST,以及它们之间的转换。
但是,如果您在非Windows操作系统上运行.NET Core,则需要使用"Europe/London"
的IANA时区ID。
这两种方法都适用于各自的操作系统上的TimeZoneInfo.FindSystemTimeZoneById
方法。
最后,如果您将代码设计为跨平台,您可能希望使用我的TimeZoneConverter库,这将允许您在任何平台上使用任一形式的标识符。