/**
* java 獲取 獲取某年某月 所有日期(yyyy-mm-dd格式字符串)
* @param year
* @param month
* @return
*/
public static List<String> getMonthFullDay(int year , int month){
SimpleDateFormat dateFormatYYYYMMDD = new SimpleDateFormat("yyyy-MM-dd");
List<String> fullDayList = new ArrayList<>(32);
// 獲得當前日期對象
Calendar cal = Calendar.getInstance();
cal.clear();// 清除信息
cal.set(Calendar.YEAR, year);
// 1月從0開始
cal.set(Calendar.MONTH, month-1 );
// 當月1號
cal.set(Calendar.DAY_OF_MONTH,1);
int count = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
for (int j = 1; j <= count ; j++) {
fullDayList.add(dateFormatYYYYMMDD.format(cal.getTime()));
cal.add(Calendar.DAY_OF_MONTH,1);
}
return fullDayList;
}
/**
* java 獲取 獲取某年某月 所有月份(yyyy-mm格式字符串)
* @param year
* @return
*/
public static List<String> getYearFullMonth(int year){
List<String> list = new ArrayList<>(12);
for (int j = 1; j <= 12 ; j++) {
if (j<10){
list.add(year+"-0"+j);
}else {
list.add(year+"-"+j);
}
}
return list;
}
/**
* java 獲取 獲取某年某月 有幾周及開始日期,結束日期
* @param date
* @return
*/
public static Map<String,DataObj> getWeeks(String date){
Map<String,DataObj> map = new LinkedHashMap<>();
try {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
Date date1 = dateFormat.parse(date);
Calendar calendar = new GregorianCalendar();
calendar.setTime(date1);
int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
int count = 0;
for (int i = 1; i <= days; i++) {
DateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
Date date2 = dateFormat1.parse(date + "-" + i);
calendar.clear();
calendar.setTime(date2);
int k = new Integer(calendar.get(Calendar.DAY_OF_WEEK));
if (k == 1) {// 若當天是週日
count++;
DataObj dataObj = new DataObj();
if (i - 6 <= 1) {
String startTime = date + "-" + 1;
dataObj.setStartTime(dateFormat1.parse(startTime));
} else {
String startTime = date + "-" + (i - 6);
dataObj.setStartTime(dateFormat1.parse(startTime));
}
dataObj.setEndTime(dateFormat1.parse(date + "-" + i));
map.put("第" + count + "周",dataObj);
}
if (k != 1 && i == days) {// 若是本月最好一天,且不是週日
count++;
DataObj dataObj = new DataObj();
dataObj.setStartTime(dateFormat1.parse(date + "-" + (i - k + 2)));
dataObj.setEndTime(dateFormat1.parse(date + "-" + i));
map.put("第" + count + "周",dataObj);
}
}
}catch (Exception e){
e.printStackTrace();
}
return map;
}
/**
* @Description //當前年份
* @Date 2019/2/12 11:36
* @Param []
* @return int
**/
public static int getYearCurrent(){
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
return year;
}
/**
* @Description //當前月份
* @Date 2019/2/12 11:36
* @Param []
* @return int
**/
public static int getMonthCurrent(){
Calendar cal = Calendar.getInstance();
int month = cal.get(Calendar.MONTH )+1;
return month;
}