-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathDateConverter.java
45 lines (34 loc) · 1.41 KB
/
DateConverter.java
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
// Copyright (c) 2020 Ryan Richard
package rr.hikvisiondownloadassistant;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class DateConverter {
private static final SimpleDateFormat apiDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
private static final SimpleDateFormat localDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
private static final SimpleDateFormat localFilenameDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH-mm-ss");
private static final SimpleDateFormat localHumanDateFormat = new SimpleDateFormat("EEEE MMM d, yyyy 'at' h:mm:ss aaa z");
static {
apiDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
}
public static Date apiStringToDate(String timeString) {
try {
return apiDateFormat.parse(timeString);
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
public static String dateToApiString(Date time) {
return apiDateFormat.format(time);
}
public static String dateToLocalString(Date time) {
return localDateFormat.format(time);
}
public static String dateToLocalFilenameString(Date time) {
return localFilenameDateFormat.format(time);
}
public static String dateToLocalHumanString(Date time) {
return localHumanDateFormat.format(time);
}
}