
java如何显示到日
用户关注问题
我想在Java程序中显示日期信息,只显示到年月日部分,该怎么实现日期格式化?
使用SimpleDateFormat显示到日期
Java中可以使用SimpleDateFormat类来格式化日期。通过设置格式字符串为"yyyy-MM-dd",即可将日期显示到日。例如:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = sdf.format(new Date());
这样可以得到格式为"2024-06-12"的日期字符串。
Java 8引入了新的日期时间API,如何用它来获取只精确到“日”的日期数据?
使用LocalDate获取年月日日期
Java 8及以上版本可以使用java.time包中的LocalDate类,它只包含年月日,无时间信息。获取当前日期的方法为:
LocalDate today = LocalDate.now();
如果需要将其转为字符串,也可以调用today.toString(),默认格式为"yyyy-MM-dd"。这个类更适合只关注日期部分的场景。
当我有一个java.util.Date对象,该对象同时包含时间,我想只显示日期的部分,该如何处理?
通过格式化或转换移除时间部分
可以利用SimpleDateFormat将Date对象格式化为“yyyy-MM-dd”的字符串,忽略时间;如果想得到Date类型的“日期”且时间部分为0,可以使用Calendar或java.time转换。例如,使用Calendar:
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
Date dateOnly = cal.getTime();
这样得到的dateOnly只包含日期部分。