package com.test;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
public class test {
public static void main(String[] args) {
int fyear = 2022;
int fmonth = 10;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR,fyear);
cal.set(Calendar.MONTH, fmonth-1);
int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
cal.set(Calendar.DAY_OF_MONTH, firstDay);
String startTime = sdf.format(cal.getTime());
int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
cal.set(Calendar.DAY_OF_MONTH, lastDay);
String endTime = sdf.format(cal.getTime());
JSONArray dailyData = new JSONArray();
Date sDate = DateUtil.parse(startTime, DatePattern.NORM_DATE_PATTERN);
Date eDate = DateUtil.parse(endTime, DatePattern.NORM_DATE_PATTERN);
List<DateTime> dateList = DateUtil.rangeToList(sDate, eDate, DateField.DAY_OF_YEAR);
for (DateTime dateTime : dateList) {
JSONObject obj = new JSONObject();
obj.put("date", dateTime.toString().substring(0,10));
dailyData.add(obj);
}
System.out.println(dailyData);
}
}
输出:
[{"date":"2022-10-01"},{"date":"2022-10-02"},{"date":"2022-10-03"},{"date":"2022-10-04"},{"date":"2022-10-05"},{"date":"2022-10-06"},{"date":"2022-10-07"},{"date":"2022-10-08"},{"date":"2022-10-09"},{"date":"2022-10-10"},{"date":"2022-10-11"},{"date":"2022-10-12"},{"date":"2022-10-13"},{"date":"2022-10-14"},{"date":"2022-10-15"},{"date":"2022-10-16"},{"date":"2022-10-17"},{"date":"2022-10-18"},{"date":"2022-10-19"},{"date":"2022-10-20"},{"date":"2022-10-21"},{"date":"2022-10-22"},{"date":"2022-10-23"},{"date":"2022-10-24"},{"date":"2022-10-25"},{"date":"2022-10-26"},{"date":"2022-10-27"},{"date":"2022-10-28"},{"date":"2022-10-29"},{"date":"2022-10-30"},{"date":"2022-10-31"}]