从日期中删除时间。并保持 DATE 类型

Removing time from date. and keeping the DATE type

我有一个 returns 一个 calendar.getTime() 日期的日期对象。

但是,此日期的格式如下:

("dd/MM/time/yyyy")
  1. 我想去掉那个时间,仍然保留日期作为日期 因为我的其余申请需要 DATE 类型 运行 正确。我希望它显示为

    ("dd/MM/yyy")

  2. 我该怎么做?我看到的其他答案都要求你 将其更改为字符串。是否可以将它作为字符串和 然后回到没有时间的约会?

日期对象总是有一个时间部分。所以你不能没有时间部分的约会。您只能将时间部分设置为零:

    calendar.set(Calendar.HOUR_OF_DAY, 0);
    calendar.set(Calendar.MINUTE, 0);
    calendar.set(Calendar.SECOND, 0);
    calendar.set(Calendar.MILLISECOND, 0);

如果你只是将它转换成 String 你可以使用 SimpleDateFormat:

    DateFormat df = new SimpleDateFormat("dd/MM/yyy");
    String s = df.format(calendar.getTime());

您可以使用 DateFormat class 执行此操作,如下所示:

Calendar cal = new GregorianCalendar(2015, 01, 30);
DateFormat df = android.text.format.DateFormat.getDateFormat(this); 
String date = df.format(calendar.getTime());

getDateFormat(Context)

此 return 格式化程序由系统的区域设置定义。 (如果你想支持多日期格式(eg us, de)就好了