使用Calendar类来进行计算
获取本月的开始时间和结束时间,我们可以使用Calendar类来进行计算。
以下是示例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Main { public static void main(String[] args) { // 获取当前日期 Date currentDate = new Date(); // 创建Calendar实例 Calendar calendar = Calendar.getInstance(); // 设置日期为当前日期 calendar.setTime(currentDate); // 将日期设置为该月的第一天 calendar.set(Calendar.DAY_OF_MONTH, 1 ); // 获取本月的开始时间 Date startTime = calendar.getTime(); // 将日期设置为该月的最后一天 calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); // 获取本月的结束时间 Date endTime = calendar.getTime(); // 输出结果 SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ); System.out.println( "本月开始时间:" + dateFormat.format(startTime)); System.out.println( "本月结束时间:" + dateFormat.format(endTime)); } } |
getActualMaximum方法
在上面的示例代码中,我们首先获取当前日期,并创建一个Calendar对象并将日期设置进去。接着,将日期设置为该月的第一天,即使用set(Calendar.DAY_OF_MONTH, 1)方法将日期设置为1号。
然后,使用getActualMaximum(Calendar.DAY_OF_MONTH)方法获取该月的最后一天,并将日期设置为该天。最后,使用getTime()方法将Calendar对象转换为Date对象,并输出结果。
我们使用SimpleDateFormat类来格式化输出结果为"yyyy-MM-dd HH:mm:ss"的字符串格式。
可以将本月的结束时间调整为在当天的23:59:59,以获得本月结束的精确时间。
以下是示例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Main { public static void main(String[] args) { // 获取当前日期 Date currentDate = new Date(); // 创建Calendar实例 Calendar calendar = Calendar.getInstance(); // 设置日期为当前日期 calendar.setTime(currentDate); // 将日期设置为该月的第一天 calendar.set(Calendar.DAY_OF_MONTH, 1 ); // 获取本月的开始时间 Date startTime = calendar.getTime(); // 将日期设置为该月的最后一天,并调整为23:59:59 calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); calendar.set(Calendar.HOUR_OF_DAY, 23 ); calendar.set(Calendar.MINUTE, 59 ); calendar.set(Calendar.SECOND, 59 ); // 获取本月的结束时间 Date endTime = calendar.getTime(); // 输出结果 SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ); System.out.println( "本月开始时间:" + dateFormat.format(startTime)); System.out.println( "本月结束时间:" + dateFormat.format(endTime)); } } |
总结
在上面的示例代码中,我们首先获取当前日期,并创建一个Calendar对象并将日期设置进去。接着,将日期设置为该月的第一天,即使用set(Calendar.DAY_OF_MONTH, 1)方法将日期设置为1号。
然后,使用getActualMaximum(Calendar.DAY_OF_MONTH)方法获取该月的最后一天,并将日期设置为该天。最后,调整小时、分钟和秒钟,以使日期为当天的23:59:59。
最后,使用getTime()方法将Calendar对象转换为Date对象,并输出结果。我们使用SimpleDateFormat类来格式化输出结果为"yyyy-MM-dd HH:mm:ss"的字符串格式。
以上就是java Date获取本月的开始时间与结束时间的详细内容,更多关于java Date获取本月时间的资料请关注服务器之家其它相关文章!
原文链接:https://juejin.cn/post/7227825056977879100