gpt4 book ai didi

C#时区计算问题

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:59 25 4
gpt4 key购买 nike

我有一个服务器应用程序正在处理不同时区的贷款。服务器使用 UTC 运行,计划任务将在本地时间 08:00 在服务器上启动一个进程,并选择该时区的贷款进行处理。服务器必须检查每笔贷款,然后为某些贷款设置一个超时,该超时将在特定本地时间触发(根据夏令时进行调整),对于第二天 17:30 的论证,它需要计算 UTC 等效时间然后执行在达到超时之前需要经过的小时数、分钟数和秒数。

我认为问题在于将超时的业务需求转化为可配置的设置。此要求可能更改为当天的 17:30 或下周的 17:30。我需要一个解决方案(如果有的话)来应对在达到超时期间发生的夏令时变化。

最佳答案

所以您只需要将特定时区的本地时间转换为 UTC 时间(适用于超时等)?

使用TimeZoneInfo.ConvertTimeToUtc ,将本地日期/时间作为 DateTime 和相关的 TimeZoneInfo 传递。

值得注意的是,在 DST 更改前后,某些本地时间可能不存在,或者可能出现两次。对于大多数时区,这发生在本地时间清晨,因此它可能不会影响您的业务规则 - 但值得一提。如果需要,您可以使用 TimeZoneInfo.IsAmbiguousTimeTimeZoneInfo.IsInvalidTime 检测到这一点 - 虽然您需要在检测到它后确定要做什么,当然。

关于C#时区计算问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4209337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com