将字符串解析为日期和格式

Parse the String to Date and format

在片段中我有一个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 主持人:12 月 17 日星期二 00:00:00 GMT+01:00 2019 我想要这个:17 12 2019 或者类似的东西。我需要它来将保存的日期与当前日期进行比较,以便按日期对任务进行排序。 我也尝试了 DateFormat,但结果是一样的。

SimpleDateFormat("dd/MM/yy"); 不行,试试 SimpleDateFormat("yyyy-MM-dd'T' HH:mm:ss.SSSZ");

您需要按照要求的格式指定日期

取自SimpleDateFormat

您正在将日期解析为另一个 Date。解析成String然后查看日志。您应该会看到所需的输出。

Log.e("Save Presenter", format.format(updateDate)); 将以所需格式打印要登录的日期。 这是你想要的吗?