如何从日历中获取没有时间的唯一日期?

How to get only date without time from calendar?

我使用以下代码向日历添加一天。但是,我只想在字符串中检索没有时间的日期。这有可能吗?

  Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        calendar.add(Calendar.DATE,1);
String dateandtime=calendar.getTime();

更新:感谢您的建议。 java 中建议的类似帖子对于像我这样的新手来说太复杂了。这个问题提供的答案很简单。这就是为什么我建议这个问题不应该被关闭。

这可能有帮助

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 1);
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");

String formatted = format1.format(cal.getTime());
System.out.println(formatted);
// Output "2020-10-19"

java.time

为了获得简单、可靠且 up-to-date 的解决方案,我建议您使用 java.time,现代的 Java 日期和时间 API,用于约会工作。

    LocalDate today = LocalDate.now(ZoneId.of("Europe/Athens"));
    LocalDate tomorrow = today.plusDays(1);
    System.out.println(tomorrow);

当我 运行 刚才(10 月 19 日)这个片段时,输出是:

2020-10-20

A LocalDate 是一个没有时间(也没有时区)的日期,所以在我看来,这正是您所需要的,不多也不少。

对于字符串,您可以使用 tomorrow.toString()DateTimeFormatter。搜索后一种方法,很多地方都有介绍。

Link: Oracle tutorial: Date Time 解释如何使用 java.time.