Xamarin.Forms DateTime.Now() 日期与当前日期不匹配
Posted
技术标签:
【中文标题】Xamarin.Forms DateTime.Now() 日期与当前日期不匹配【英文标题】:Xamarin.Forms DateTime.Now() date does not match current date 【发布时间】:2021-12-22 22:18:22 【问题描述】:我有一个用户不断收到错误,他的 DateTime.Now() 时间戳比当前系统 DateTime 晚一两天。此应用程序在大约 80 台其他设备上正常运行。
重新启动应用程序似乎可以解决问题。有没有人遇到过这个问题?
我正在从静态帮助类访问 System.DateTime,这里是获取当前日期和时间的变量:
public static string DateFormat = "yyyy-MM-dd HH':'mm':'ss";
public static string ShortDateFormat = "yyyy-MM-dd HH':'mm";
public static string DateOnlyFormat = "yyyy-MM-dd";
public static string Today = DateTime.Now.ToString(DateFormat);
public static string TodayDate = DateTime.Now.ToString(DateOnlyFormat);
public static string CurrentTime = DateTime.Now.TimeOfDay.ToString();
【问题讨论】:
会不会是应用程序没有重新启动并且“今天”的日期时间永远不会更新?我的意思是它只会在第一次获得一个值,然后它不会更新。如果是这种情况,您可能想使用类似public static string TodayDate get => DateTime.Now....
【参考方案1】:
你的字段(!)
public static string Today = DateTime.Now.ToString(DateFormat);
被初始化一次,当程序启动或第一次使用这个定义的类时。
您可能想改用属性:
public static string Today => DateTime.Now.ToString(DateFormat);
每次请求时都会返回一个新字符串。
【讨论】:
谢谢,我暂时将其标记为答案。我想可能是这样的。 如果您希望当前的 时间 显示正确的值(或在午夜后正确的日期),那么您将需要一些计时器来连续(可能每分钟一次)够了)更新那个时间(和/或日期)的显示 谢谢汉斯,幸运的是,这更像是工作时间的时间戳。以上是关于Xamarin.Forms DateTime.Now() 日期与当前日期不匹配的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin.Forms 和 Xamarin Native 有啥区别? [关闭]
如何使用 Xamarin.Forms.Maps(无 Xamarin.Forms.GoogleMaps)在地图中应用样式或更改颜色
Xamarin Forms Prism:prism ResourceDictionary 中已存在具有键“Xamarin.Forms.NavigationPage”的资源
Xamarin.Forms.Forms.Init(e) Onlaunched 中的 FileNotFoundExeception