java 日期相关计算获取
public static void main(String[] args) {
Date date = new Date();
String dateStr = "2019-01-07";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
date = sdf.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
//获取月份中的第一天
Calendar cdMin = Calendar.getInstance();
cdMin.setTime(date);
cdMin.set(Calendar.DAY_OF_MONTH,cdMin.getActualMinimum(Calendar.DAY_OF_MONTH));
String monthLast = sdf.format(cdMin.getTime());
System.out.println("这个月的第一天:"+monthLast);
//获取月份中的最后一天
Calendar cd = Calendar.getInstance();
cd.setTime(date);
cd.set(Calendar.DAY_OF_MONTH,cd.getActualMaximum(Calendar.DAY_OF_MONTH));
String monthLastDate = sdf.format(cd.getTime());
System.out.println("这个月的最后一天:"+monthLastDate);
//获取这个日期年所在的天数
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int week = calendar.get(Calendar.DAY_OF_WEEK);
//如果是周天的话就要减去一天,不然就会跳到下周一
if(1== week){
calendar.add(Calendar.DAY_OF_MONTH, -1);
}
calendar.setFirstDayOfWeek(Calendar.MONDAY);
int week1 = calendar.get(Calendar.DAY_OF_WEEK);
calendar.add(Calendar.DATE,calendar.getFirstDayOfWeek()- week1);
String weekStr = sdf.format(calendar.getTime());
System.out.println("这个日期是一周中的第:"+week1+"天");
System.out.println("这个日期所在的周一是:"+weekStr);
//在这个日期加一天
Calendar calendarAdd = Calendar.getInstance();
calendarAdd.setTime(date);
calendarAdd.add(Calendar.DAY_OF_WEEK,1);
String dateAddOne = sdf.format(calendarAdd.getTime());
System.out.println("当前时间是:"+dateStr+",加一天后是:"+dateAddOne);
//这个日期减一天
Calendar calendarCutOne = Calendar.getInstance();
calendarCutOne.setTime(date);
calendarCutOne.add(Calendar.DAY_OF_MONTH,-1);
String dateCutOne = sdf.format(calendarCutOne.getTime());
System.out.println("当前时间是:"+dateStr+",减一天后是:"+dateCutOne);
//这个日期在年中的周数
Calendar calendarWeek = Calendar.getInstance();
calendarWeek.setTime(date);
int year = calendarWeek.getWeekYear();
//先设置周一为周的第一天
int firstWeek = calendarWeek.get(Calendar.MONDAY);
if(1 == firstWeek){
calendarWeek.add(Calendar.DAY_OF_MONTH,-1);
}
calendarWeek.setFirstDayOfWeek(Calendar.MONDAY);
int yearWeek = calendarWeek.get(Calendar.WEEK_OF_YEAR);
System.out.println("当前年为:"+year +",这个日期所在年的第"+yearWeek+"周");
}
本文详细介绍了使用Java进行日期计算的方法,包括获取指定日期的月份第一天和最后一天、计算日期在一年中的具体周数、加减天数以及确定一周中的哪一天。通过Calendar和SimpleDateFormat类,展示了如何解析和格式化日期,以及进行各种日期相关的计算。
2014

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



