我使用以下代码将一天添加到日历中。但是,我想在字符串中只检索日期而不检索时间。这有可能吗?
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
对于一个简单、可靠和最新的解决方案,我建议您使用现代java日期和时间API java.time来进行日期工作。
LocalDate today = LocalDate.now(ZoneId.of("Europe/Athens"));
LocalDate tomorrow = today.plusDays(1);
System.out.println(tomorrow);
当我刚刚(10月19日(运行这个片段时,输出是:
2020-10-20
LocalDate
是一个没有时间(也没有时区(的日期,所以在我看来,这正是你所需要的。
对于字符串,可以使用tomorrow.toString()
或DateTimeFormatter
。搜索如何实现后者,在许多地方都有描述。
链接:Oracle教程:日期时间解释如何使用java.Time.