本文来编写一个例子来获得本日,本周,本月,本年的时间信息。
文章目录
程序实例
程序实例
package cn.yiyiyun.zl.utils;
import lombok.extern.slf4j.Slf4j;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
/***
* 获得不同
* 的日期
*/
@Slf4j
public class DateUtil {
/**
* 获取今天的时间范围
* @return 返回长度为2的字符串集合,如:[2022-11-11 00:00:00, 2022-11-11 24:00:00]
*/
public static List<String> getToday() {
List<String> dataList = new ArrayList<>(2);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.DATE, 0);
String today = dateFormat.format(calendar.getTime());
dataList.add(today + " 00:00:00");
dataList.add(today + " 24:00:00");
log.info("当天时间:" + dataList);
return dataList;
}
/**
* 获取本周的时间范围
* @return 返回长度为2的字符串集合,如:[2022-05-02 00:00:00, 2022-05-08 24:00:00]
*/
public static List<String> getCurrentWeek() {
List<String> dataList = new ArrayList<>(2);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);//设置周一为一周之内的第一天
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
String monday = dateFormat.format(calendar.getTime()) + " 00:00:00";
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
String sunday = dateFormat.format(calendar.getTime()) + " 24:00:00";
dataList.add(monday);
dataList.add(sunday);
log.info("本周时间:" + dataList);
return dataList;
}
/**
* 获取本月的时间范围
* @return 返回长度为2的字符串集合,如:[2022-11-01 00:00:00, 2022-11-30 24:00:00]
*/
public static List<String> getCurrentMonth() {
List<String> dataList = new ArrayList<>(2);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.MONTH, 0);
calendar.set(Calendar.DAY_OF_MONTH, 1);
String firstDayOfMonth = dateFormat.format(calendar.getTime()) + " 00:00:00";
calendar.add(Calendar.MONTH, 1);
calendar.set(Calendar.DAY_OF_MONTH, 0);
String lastDayOfMonth = dateFormat.format(calendar.getTime()) + " 24:00:00";
dataList.add(firstDayOfMonth);
dataList.add(lastDayOfMonth);
log.info("本月时间:" + dataList);
return dataList;
}
/**
* 获取本年的时间范围
* @return 返回长度为2的字符串集合,如:[2022-01-01 00:00:00, 2022-12-31 24:00:00]
*/
public static List<String> getCurrentYear() {
List<String> dataList = new ArrayList<>(2);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.YEAR, 0);
calendar.set(Calendar.DAY_OF_YEAR, 1);
String firstDayOfYear = dateFormat.format(calendar.getTime()) + " 00:00:00";
calendar.add(Calendar.YEAR, 1);
calendar.set(Calendar.DAY_OF_YEAR, 0);
String lastDayOfYear = dateFormat.format(calendar.getTime()) + " 24:00:00";
dataList.add(firstDayOfYear);
dataList.add(lastDayOfYear);
log.info("本年时间:" + dataList);
return dataList;
}
public static void main(String[] args) {
getToday();
getCurrentWeek();
getCurrentMonth();
getCurrentYear();
}
}
程序结果