【发布时间】:2019-12-17 15:57:07
【问题描述】:
在片段中,我有一个 DatePickerDialog.OnDateSetListener。如果我选择一个日期,我会以字符串的形式将它发送给演示者。然后我想在 Presenter 中将 String 解析为 Date 并在保存到数据库之前更改 Date 的格式。
保存演示者:
@Override
public void addTaskClick(String text, String date, String time, boolean status) {
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yy");
Date updateDate = null;
try {
updateDate = format.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
Log.e("Save Presenter", updateDate.);
realmService.addTask(text, updateDate, time, status, this);
}
这就是我现在所拥有的:E/Save 演讲者:2019 年 12 月 17 日星期二 00:00:00 GMT+01:00 我想要这个:2019 年 17 月 12 日 或类似的东西。我需要它将保存的日期与当前日期进行比较,以按日期对任务进行排序。 我也试过 DateFormat 但结果是一样的。
【问题讨论】:
-
不要将日期作为字符串保存在数据库中,保持较长的时间戳。如果您保持较长的时间戳,一个简单的数据库 order_by 将为您提供基于日期的排序,因此无需编写任何额外的比较器/可比较器来按日期对内容进行排序。这个问题的答案使用了房间(不是领域),但它仍然应该让你对你需要做什么有一个好主意:stackoverflow.com/questions/58247286/…
-
我不知道。感谢您的有趣课程。
-
@schrodingers_cat16 如果我需要比较例如天数怎么办?我的意思是:如果我通过 DatePicker 保存日期,则有日、月、年等,但没有时间,然后我想将其与当前日期进行比较并且有时间?如何从数据库中获取时间戳并接收一天或一个月但没有时间?
-
您始终可以使用 new Date(timestamp) 将较长的时间戳转换为带有日、月、年的日期。
标签: android android-date