sqlite - DatePicker 值在 SQLite Xamarin.Forms 中保存为错误日期
问题描述
型号代码:
public DateTime date { get; set; }
视图模型代码:
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 对象时,日期晚了一天。前任。日期选择器中的 2018 年 7 月 12 日,然后在执行 insertToDb 方法后,日期将在列表中显示为 2018 年 7 月 11 日。任何人?
解决方案
在您的财产中,
public DateTime date
{
get => Model.date.ToLocalTime();
set
{
Model.date = value;
NotifyPropertyChanged("date");
}
}
您面临的问题是因为 TimeZones,以及 SQLite 如何保存日期对象。如果您在从数据库加载后转换为本地时间,您应该没有任何问题。
推荐阅读
- node.js - 我可以从我自己的服务器安装 Node.js 模块吗?
- sql-server - 从 ssis 中的目录(使用 xslt 操作)转换 xml 文件并将它们移动到新目录中?
- dictionary - Golang multiple timers with map+channel+mutex
- javascript - 我的问题是客户需要的表单字段,如果键入的数字以 mm/dd/yyyy 格式转换为正确的日期格式
- python - 使用 TensorFlow 训练的模型在 Django 中不可用
- jenkins - 管道评估 yaml 文件中的变量
- javascript - 你如何在同一个元素上使用多个反应组件?
- excel - 如何修复'运行时错误'1004' PasteSpecial
- sql - Groovy SQL 中 Groovy 闭包的使用
- android - Android:构建 Pjsip v2.9 示例应用程序时出错