代码如下:
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
// 获取当前日期
Calendar calendar = Calendar.getInstance();
// 设置为当月第一天
calendar.set(Calendar.DAY_OF_MONTH, 1);
// 将小时、分钟、秒钟、毫秒设为最小值
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
Date firstDayOfMonth = calendar.getTime();
// 设置为当月最后一天
calendar.add(Calendar.MONTH, 1);
calendar.add(Calendar.DATE, -1);
// 将小时、分钟、秒钟、毫秒设为最大值
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);
Date lastDayOfMonth = calendar.getTime();
// 格式化日期为字符串
// 自行定义时间格式 HH:mm:ss.SSS
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String firstDayStr = dateFormat.format(firstDayOfMonth);
String lastDayStr = dateFormat.format(lastDayOfMonth);
log.info("当月第一天为:" + firstDayStr);
log.info("当月最后一天为:" + lastDayStr);
log.info("————————————————————");
运行结果如下:
2023-05-04 11:16:22 INFO 8650200c 1-1 当月第一天为:2023-05-01 00:00:00.000
2023-05-04 11:16:22 INFO 8650200c 1-1 当月最后一天为:2023-05-31 23:59:59.999
该博客展示了一段Java代码,通过Calendar类和SimpleDateFormat类获取并格式化当月第一天和最后一天的日期。代码先设置当月第一天的时间为最小值,再设置最后一天的时间为最大值,最后将日期格式化为字符串并输出结果。
958

被折叠的 条评论
为什么被折叠?



