DatePicker值在SQLite Xamarin.Forms中保存为错误日期

时间:2018-07-12 04:52:38

标签: sqlite xamarin.forms

型号代码:

public DateTime date { get; set; }

ViewModel代码:

public DateTime date
{
    get => Model.date;
    set
    {
        Model.date = value;
        NotifyPropertyChanged("date");
    }
}

XAML代码:

 <DatePicker Date="{Binding date}" Format=" MMM d, yyyy"  />

SQL插入代码:

public void InsertDevotion(Object obj)
{
    sqliteconnection.Insert(obj);
}

保存DateTime对象时,日期晚一天。 例如七月12,2018在datepicker 然后执行insertToDb方法后,日期将显示为列表中的2018年7月11日。有人吗?

1 个答案:

答案 0 :(得分:0)

在您的酒店中

public DateTime date
{
    get => Model.date.ToLocalTime();
    set
    {
        Model.date = value;
        NotifyPropertyChanged("date");
    }
}

您面临的问题是由于TimeZones以及SQLite如何保存日期对象。如果从数据库加载后转换为本地时间,则不会有任何问题。