版权声明:转载标注 孙德超 -Q-2466536634 https://blog.csdn.net/weixin_44395185/article/details/85758490
如下是源码:
package com.example.until;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class ReturnDateUntil {
public static int [] returnDate (String str) {
String [] arr = str.split("\\$");
int [] dateInt = {Integer.valueOf(arr[0]),Integer.valueOf(arr[1]),Integer.valueOf(arr[2])};
return dateInt;
}
public static int getWeek(String date) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("yyyy$MM$WW");
try {
cal.setTime(format.parse(date));
} catch (ParseException e) {
e.printStackTrace();
}
int week = cal.get(Calendar.DAY_OF_MONTH);
return week;
}
public static String [] getReturnDateUntil(String str) {
int [] arr = returnDate (str);
int year = arr[0] ;
int month = arr[1] ;
int startDay = getWeek(str);
int endDay = getWeek(arr[0]+"$"+arr[1]+"$"+(arr[2]+1));
int startMonth = arr[1] ;
int endMonth = arr[1] ;
int startYear = arr[0] ;
int endYear= arr[0] ;
if(endDay<startDay) {
if( arr[2] == 1 ) {
if(month!=1) {
startMonth = month-1 ;
}else {
startMonth = 12 ;
startYear = year -1 ;
}
}else {
if(month!=12) {
endMonth = month+1 ;
}else {
endMonth = 1 ;
endYear = year+1 ;
}
}
}
String[] returnStr = {startYear+","+startMonth+","+startDay,endYear+","+endMonth+","+endDay};
return returnStr;
}
}