Xamarin.Forms DateTime.Now() 日期与当前日期不匹配

Xamarin.Forms DateTime.Now() date does not match current date

我有一个用户不断收到错误,他的 DateTime.Now() 时间戳比当前系统日期时间晚一两天。此应用程序可在约 80 台其他设备上正常运行。

重新启动应用程序似乎可以解决问题。有没有人对这个问题有任何经验?

我正在从静态助手 class 访问 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 Today = DateTime.Now.ToString(DateFormat);

被初始化恰好一次,在程序启动时或首次使用此定义的class时。

您可能想改用 属性:

public static string Today => DateTime.Now.ToString(DateFormat);

这 returns 每次请求时都是一个新字符串。