DateUtils.java
3.02 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
package top.panll.assist.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAccessor;
import java.util.Date;
import java.util.Locale;
public class DateUtils {
public static final String PATTERNForDateTime = "yyyy-MM-dd HH:mm:ss";
public static final String PATTERNForTime = "HH:mm:ss";
public static final String PATTERNForDate = "yyyy-MM-dd";
public static final String zoneStr = "Asia/Shanghai";
public static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern(PATTERNForDateTime, Locale.getDefault()).withZone(ZoneId.of(zoneStr));
public static final DateTimeFormatter formatterForTime = DateTimeFormatter.ofPattern(PATTERNForTime, Locale.getDefault()).withZone(ZoneId.of(zoneStr));
// 获得某天最大时间 2020-02-19 23:59:59
public static Date getEndOfDay(Date date) {
LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()), ZoneId.systemDefault());;
LocalDateTime endOfDay = localDateTime.with(LocalTime.MAX);
return Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant());
}
// 获得某天最小时间 2020-02-17 00:00:00
public static Date getStartOfDay(Date date) {
LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()), ZoneId.systemDefault());
LocalDateTime startOfDay = localDateTime.with(LocalTime.MIN);
return Date.from(startOfDay.atZone(ZoneId.systemDefault()).toInstant());
}
public static String getDateStr(Date date) {
SimpleDateFormat formatter = new SimpleDateFormat(PATTERNForDate);
return formatter.format(date);
}
public static String getDateTimeStr(Date date) {
SimpleDateFormat formatter = new SimpleDateFormat(PATTERNForDateTime);
return formatter.format(date);
}
public static String getTimeStr(Long dateTime) {
SimpleDateFormat formatter = new SimpleDateFormat(PATTERNForTime);
return formatter.format(new Date(dateTime));
}
public static boolean checkDateFormat(String dateStr) {
SimpleDateFormat formatter = new SimpleDateFormat(PATTERNForDate);
try {
formatter.parse(dateStr);
return true;
} catch (ParseException e) {
return false;
}
}
public static boolean checkDateTimeFormat(String dateStr) {
SimpleDateFormat formatter = new SimpleDateFormat(PATTERNForDateTime);
try {
formatter.parse(dateStr);
return true;
} catch (ParseException e) {
return false;
}
}
public static long yyyy_MM_dd_HH_mm_ssToTimestamp(String formatTime) {
TemporalAccessor temporalAccessor = formatter.parse(formatTime);
Instant instant = Instant.from(temporalAccessor);
return instant.getEpochSecond();
}
}