DateUtils.java
5.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
package com.zteits.park.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* Copyright: Copyright (c) 2020 zteits
*
* @ClassName: DateUtils.java
* @Description:
* @version: v1.0.0
* @author: jiawj
* @date: 2021年03月24日 18:03
*/
public class DateUtils {
public static boolean sameDate(Date d1, Date d2){
SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMdd");
//fmt.setTimeZone(new TimeZone()); // 如果需要设置时间区域,可以在这里设置
return fmt.format(d1).equals(fmt.format(d2));
}
public static String dateToString(Date date) {
SimpleDateFormat sformat = new SimpleDateFormat("HH:mm:ss");//日期格式
String tiem = sformat.format(date);
return tiem;
}
public static String dateToStringForSSS(Date date) {
SimpleDateFormat sformat = new SimpleDateFormat("HH:mm:ss.SSS");//日期格式
String tiem = sformat.format(date);
return tiem;
}
public static String dateToTime(Date date) {
SimpleDateFormat sformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//日期格式
String tiem = sformat.format(date);
return tiem;
}
public static String dateToDay(Date date) {
SimpleDateFormat sformat = new SimpleDateFormat("yyyy-MM-dd");//日期格式
String tiem = sformat.format(date);
return tiem;
}
public static boolean sameJudgeDate(Date todayTime, String startTime,String endTime) throws ParseException {
String yMDTime = dateToDay(todayTime);
String startFormat=yMDTime+" "+startTime;
String endFormat=yMDTime+" "+endTime;
int flag = startTime.compareTo(endTime);
if(flag >0){
Date d = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String date = format.format(d);
System.out.println("现在的日期是:" + date);
Calendar ca = Calendar.getInstance();
ca.add(Calendar.DATE, 1);// 1为增加的天数,可以改变的
d = ca.getTime();
String backTime = format.format(d);
endFormat = backTime +" "+endTime;
}
SimpleDateFormat sim=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
long start=sim.parse(startFormat).getTime();
long end=sim.parse(endFormat).getTime();
long now=sim.parse(dateToTime(todayTime)).getTime();
if(now>=start&&now<end){
System.out.println("时间在"+start+"-"+end+"之内");
return true;
}else{
System.out.println("时间在"+start+"-"+end+"之外");
return false;
}
}
/**
* 判断时间是否在时间段内 *
* @param date
* 当前时间 yyyy-MM-dd HH:mm:ss
* @param strDateBegin
* 开始时间 00:00:00
* @param strDateEnd
* 结束时间 00:05:00
* @return
*/
public static boolean isInDate(Date date, String strDateBegin, String strDateEnd) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate = sdf.format(date);
// 截取当前时间时分秒
int strDateH = Integer.parseInt(strDate.substring(11, 13));
int strDateM = Integer.parseInt(strDate.substring(14, 16));
int strDateS = Integer.parseInt(strDate.substring(17, 19));
// 截取开始时间时分秒
int strDateBeginH = Integer.parseInt(strDateBegin.substring(0, 2));
int strDateBeginM = Integer.parseInt(strDateBegin.substring(3, 5));
int strDateBeginS = Integer.parseInt(strDateBegin.substring(6, 8));
// 截取结束时间时分秒
int strDateEndH = Integer.parseInt(strDateEnd.substring(0, 2));
int strDateEndM = Integer.parseInt(strDateEnd.substring(3, 5));
int strDateEndS = Integer.parseInt(strDateEnd.substring(6, 8));
if ((strDateH >= strDateBeginH && strDateH <= strDateEndH)) {
// 当前时间小时数在开始时间和结束时间小时数之间
if (strDateH > strDateBeginH && strDateH < strDateEndH) {
return true;
// 当前时间小时数等于开始时间小时数,分钟数在开始和结束之间
} else if (strDateH == strDateBeginH && strDateM >= strDateBeginM&& strDateM <= strDateEndM) {
return true;
// 当前时间小时数等于开始时间小时数,分钟数等于开始时间分钟数,秒数在开始和结束之间
} else if (strDateH == strDateBeginH && strDateM == strDateBeginM&& strDateS >= strDateBeginS && strDateS <= strDateEndS) {
return true;
}
// 当前时间小时数大等于开始时间小时数,等于结束时间小时数,分钟数小等于结束时间分钟数
else if (strDateH >= strDateBeginH && strDateH == strDateEndH && strDateM <= strDateEndM) {
return true;
// 当前时间小时数大等于开始时间小时数,等于结束时间小时数,分钟数等于结束时间分钟数,秒数小等于结束时间秒数
} else if (strDateH >= strDateBeginH && strDateH == strDateEndH && strDateM == strDateEndM && strDateS <= strDateEndS) {
return true;
} else {
return false;
}
}else {
return false;
}
}
}