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