java 获取分钟数据(获取时间段内每分钟的数据和传入时间当天每分钟的数据)

目标:

java 获取分钟数据(获取时间段内每分钟的数据和传入时间当天每分钟的数据)

代码:

package org.jeecg.utils;


import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.*;

/**
 * 日期和时间工具类.
 *
 */
public class DateUtils {
/**
 * 获取时间段内的每分钟的集合
 *
 * @param startDate
 * @param endDate
 * @return
 */
public static List<Date> getMiBetweenDateRange(Date startDate, Date endDate) {
    Calendar tt = Calendar.getInstance();
    tt.setTime(startDate);
    Calendar t2 = Calendar.getInstance();
    t2.setTime(endDate);
    List<Date> dateList = new ArrayList<Date>();
    for (; tt.compareTo(t2) < 0; tt.add(Calendar.MINUTE, 1)) {
        dateList.add(tt.getTime());
    }
    return dateList;
}

/**
     * 获取传入时间,当天的每分钟的集合
     *
     * @param date
     * @return
     */
    public static List<Date> getDayMi(Date date) {
        Calendar tt = Calendar.getInstance();
        tt.setTime(date);
        Calendar t2 = Calendar.getInstance();
        t2.setTime(date);
        t2.add(Calendar.DAY_OF_MONTH, 1);
        List<Date> dateList = new ArrayList<Date>();
        for (; tt.compareTo(t2) < 0; tt.add(Calendar.MINUTE, 1)) {
            dateList.add(tt.getTime());
        }
        return dateList;
    }


public static void main(String[] args) throws ParseException {
//获取当前时间,当天每分钟的数据
        System.out.println("=============获取当前时间,当天每分钟的数据==============");
        Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2022-07-31 12:02:00");
        List<Date> dateMis = getDayMi(date);
        for (Date dateMi : dateMis) {
            System.out.println(new SimpleDateFormat("YYYY-MM-dd HH:mm:ss").format(dateMi));
        }
//获取时间段内每分钟的数据
System.out.println("=============获取时间段内每分钟的数据==============");
Date startDate = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse("2022-07-21 10:00:00");
Date endDate = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse("2022-07-21 11:00:00");
List<Date> betweenMis = getMiBetweenDateRange(startDate, endDate);
for (Date betweenMi : betweenMis) {
    System.out.println(new SimpleDateFormat("YYYY-MM-dd HH:mm:ss").format(betweenMi));
}
}
}


版权声明:本文为supersolon原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。