微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从日历中只获取日期而没有时间?

如何解决如何从日历中只获取日期而没有时间?

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

  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.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

LocalDate是一个没有一天中的时间(也没有时区)的日期,因此在我看来,这恰好为您提供了您所需要的东西,更多,更多。

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

链接: Oracle tutorial: Date Time解释了如何使用java.time。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。