DateUtil.java
3 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
package com.cjs.cms.util.lang;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* 日期工具类
*
* @author 仝玉甫
*
*/
public final class DateUtil {
private static final Map<DateEnum, DateFormat> formats = new HashMap<DateEnum, DateFormat>();
static {
for (DateEnum date : DateEnum.values()) {
formats.put(date, new SimpleDateFormat(date.getValue()));
}
}
/**获取当前时间 yyyy-MM-dd HH:mm:ss */
public static String getNow() {
return formats.get(DateEnum.DATETIME).format(new Date());
}
/**获取当前时间*/
public static String getNow(DateEnum format) {
return formats.get(format).format(new Date());
}
/**转换字符串日期*/
public static Date parseDate(String date, DateEnum format) {
try {
return formats.get(format).parse(date);
} catch (ParseException e) {
return null;
}
}
/**日期转换成字符串*/
public static String parseDate(Date date, DateEnum format) {
return formats.get(format).format(date);
}
/**获取前一天日期*/
public static String getBeforeDay(DateEnum format) {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1);
return formats.get(format).format(cal.getTime());
}
/**
* 格式化日期为恒生的格式
* @param startDate yyyy-MM-dd
* @param endDate yyyy-MM-dd
*/
public static void formatHundsunDate(Map<String, Object> params) {
String startDate = StringUtil.castString(params.get("startDate"));
String endDate = StringUtil.castString(params.get("endDate"));
params.put("startDate", DateUtil.formatHundsunDate(startDate));
params.put("endDate", DateUtil.formatHundsunDate(endDate));
}
/**
* 格式化日期为恒生的格式
* @param date yyyy-MM-dd
* @return yyyyMMdd
*/
public static String formatHundsunDate(String date) {
if (StringUtil.isBlank(date)) {
return "";
}
Date date2 = DateUtil.parseDate(date, DateEnum.DATE);
return DateUtil.parseDate(date2, DateEnum.UNSIGNED_DATE);
}
/**
* 计算二个时间之差
* @param smdate
* @param bdate
* @return
* @throws ParseException
*/
public static int daysBetween(Date smdate, Date bdate) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
smdate = sdf.parse(sdf.format(smdate));
bdate = sdf.parse(sdf.format(bdate));
Calendar cal = Calendar.getInstance();
cal.setTime(smdate);
long time1 = cal.getTimeInMillis();
cal.setTime(bdate);
long time2 = cal.getTimeInMillis();
long between_days = (time2 - time1) / (1000 * 3600 * 24);
return Integer.parseInt(String.valueOf(between_days));
}
}