JAVA获取当前时间或传入时间为几点、周几、日、月、季度、年,判断当前或传入日期是否为零点、1号、周一、1月、1季度
package com.xysddjyt.common.core.utils;
import lombok.extern.slf4j.Slf4j;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
@Slf4j
public class TimeJudgmentUtil {
final static int ZERO = 0;
final static int ONE = 1;
final static int SEVEN = 7;
public static int getHour(Date date){
Calendar cal = Calendar.getInstance();
if(null != date) {
cal.setTime(date);
}
return cal.get(Calendar.HOUR_OF_DAY);
}
public static Boolean isZeroHour(Date date){
Calendar cal = Calendar.getInstance();
if(null != date) {
cal.setTime(date);
}
int data = cal.get(Calendar.HOUR_OF_DAY);
return data == ZERO;
}
public static int getWeek(Date date){
Calendar cal = Calendar.getInstance();
if(null != date) {
cal.setTime(date);
}
int weekIdx = cal.get(Calendar.DAY_OF_WEEK);
if(weekIdx == ONE) {
return SEVEN;
}
return weekIdx - ONE;
}
public static Boolean isMonday(Date date){
Calendar cal = Calendar.getInstance();
if(null != date) {
cal.setTime(date);
}
int data = cal.get(Calendar.DAY_OF_WEEK);
return data == Calendar.MONDAY;
}
public static int getDay(Date date){
Calendar cal = Calendar.getInstance();
if(null != date) {
cal.setTime(date);
}
return cal.get(Calendar.DATE);
}
public static Boolean isFirstDay(Date date){
Calendar cal = Calendar.getInstance();
if(null != date) {
cal.setTime(date);
}
int data = cal.get(Calendar.DATE);
return data == ONE;
}
public static int getMonth(Date date){
Calendar cal = Calendar.getInstance();
if(null != date) {
cal.setTime(date);
}
return cal.get(Calendar.MONTH) + ONE;
}
public static Boolean isFirstMonth(Date date){
Calendar cal = Calendar.getInstance();
if(null != date) {
cal.setTime(date);
}
int data = cal.get(Calendar.MONTH) + ONE;
return data == ONE;
}
public static int getSeasonDay(Date date) {
Calendar cal = Calendar.getInstance();
if(null != date) {
cal.setTime(date);
}
int month = cal.get(Calendar.MONTH) + 1;
return month % 3 == 0 ? month / 3 : month / 3 + 1;
}
public static Boolean isFirstSeasonDay(Date date) {
Calendar cal = Calendar.getInstance();
if(null != date) {
cal.setTime(date);
}
int month = cal.get(Calendar.MONTH) + 1;
int season = month % 3 == 0 ? month / 3 : month / 3 + 1;
return season == ONE;
}
public static int getYear(Date date) {
Calendar cal = Calendar.getInstance();
if(null != date) {
cal.setTime(date);
}
int year = cal.get(Calendar.YEAR);
return year ;
}
public static void main(String[] args) throws ParseException {
String dateStr = "2022-11-14 00:16:32";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(dateStr);
log.info("当前小时:{}", getHour(null));
log.info("是否零点:{}", isZeroHour( null));
log.info("当前星期:{}", getWeek(null));
log.info("是否星期一:{}", isMonday( null));
log.info("当前几号:{}", getDay(null));
log.info("是否月1号:{}", isFirstDay( null));
log.info("当前几月:{}", getMonth(null));
log.info("是否月1月:{}", isFirstMonth( null));
log.info("当前几季度:{}", getSeasonDay(null));
log.info("是否1季度:{}", isFirstSeasonDay( null));
log.info("当前哪年:{}", getYear(null));
}
}