我必须在某些操作期间在我的应用程序上显示当前时间,如果当前系统时间格式是 HH:mm:ss
然后如果用户将其更改为 hh:mm:ss tt
当应用程序仍在运行时,它不会获取更改!它仍然以 HH:mm:ss
格式显示时间。
我尝试使用 DateTime.Now.ToLongTimeString()
和 DateTime.Now.ToString(System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.LongTimePattern);
有什么遗漏吗?有什么解决问题的建议吗?
最佳答案
我强烈怀疑该框架只是在缓存用于时间格式的模式,并且通常不会在您重新启动应用程序之前再次获取它。
您可以尝试调用 ClearCachedData
并查看它是否会返回操作系统以获取系统时间格式。 (我不知道是否有任何东西可以监控以解决何时格式已更改 - 当然,您不希望一直清除缓存。)
关于c# - 为什么我从 CultureInfo 得到的时间格式不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7709171/