【发布时间】:2026-02-13 00:40:01
【问题描述】:
说明
我有 2 个正在运行的应用程序:
- 我创建的基于 C# 的应用程序用于检查时间或时区是否已更改并与设备同步时间。 (APP1)
- 一个外部/第三方应用程序,它监视时间以进行数据处理,并在设定的时间执行必要的任务。(APP2)
还有另一个应用程序可以从主时钟检查时区数据并按固定时间表执行。每当主时钟发送时区更新命令时,此应用都会更新时区。
我已将 APP1 配置为清除它自己的缓存,以便获得正确的时间(如here by GregK 所要求的那样)。 APP1 工作正常。
问题
因此,当时区发生变化时,APP2会延迟执行它的计划任务,因为它的时间不正确。
问题
有没有办法清除 APP2 的缓存或强制它采用时区更改而不重新启动它?
【问题讨论】:
-
为什么不使用 UTC,并将其转换为每个设备的本地时间?例如您有 UTC 时间,然后在设备上添加/减去当前时区的差异。
-
我有 APP1 正在运行并获得正确的时间。我做了一个解决方法来消除 APP1 上的这个问题。我创建了工具(应用程序),执行时会将当前时间写入文本文件。这样,无论时区是否已更改,我都可以获得正确的时间。并且因为每次APP1请求当前时间都会执行,所以时区缓存不会在应用中持久化。
-
很遗憾,我不是APP2的开发者。这就是为什么我不能对它做任何修改。
-
那你打算怎么清除APP2的缓存,或者强制呢?当您无法对其进行任何修改时。
-
不,这是由该应用程序的开发人员完成的。您将需要重新启动该应用程序,以便它加载新的正确数据,或者联系该应用程序的开发人员。