获取本月开始时间和结束时间可以通过Java中的Date类和Calendar类来实现。
获取本月开始时间
// 获取当前日期
Date date = new Date();
// 创建Calendar实例并设置日期为当前日期
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// 将日历的日期设置为本月的第一天
calendar.set(Calendar.DAY_OF_MONTH, 1);
// 将时分秒毫秒设置为0,即开始时间为当天0点
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实例并将日期设置为当前日期。接下来将日历的日期设置为本月的第一天,并且将时分秒毫秒设置为0,即将时间调整为当天0点。最后通过调用Calendar的getTime()方法获取Date类型的本月开始时间。
获取本月结束时间
// 获取当前日期
Date date = new Date();
// 创建Calendar实例并设置日期为当前日期
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// 将日历的日期设置为下个月的第一天
calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) + 1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
// 将时分秒毫秒设置为0,即结束时间为当天0点
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
// 减去1毫秒,获取本月结束时间
Date lastDayOfMonth = new Date(calendar.getTimeInMillis() - 1);
在上面的代码中,和获取本月开始时间类似,首先获取当前日期,然后创建一个Calendar实例并将日期设置为当前日期。接下来将日历的日期设置为下一个月的第一天,并且将时分秒毫秒设置为0,即将时间调整为当天0点。最后减去1毫秒,即可得到本月的最后一刻,也就是本月结束的时间。
以下是一个完整的示例代码:
import java.util.Calendar;
import java.util.Date;
public class Main {
public static void main(String[] args) {
// 获取当前时间
Date date = new Date();
System.out.println("当前时间:" + date);
// 获取本月开始时间
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
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();
System.out.println("本月开始时间:" + firstDayOfMonth);
// 获取本月结束时间
calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) + 1);
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 lastDayOfMonth = new Date(calendar.getTimeInMillis() - 1);
System.out.println("本月结束时间:" + lastDayOfMonth);
}
}
输出结果如下:
当前时间:Thu Oct 21 11:17:13 CST 2021
本月开始时间:Wed Oct 20 00:00:00 CST 2021
本月结束时间:Mon Nov 01 00:00:00 CST 2021
以上是获取本月开始时间和结束时间的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java Date获取本月的开始时间与结束时间 - Python技术站