如何从日历中获取没有时间的唯一日期?
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.
我使用以下代码向日历添加一天。但是,我只想在字符串中检索没有时间的日期。这有可能吗?
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.