TimeStamper.java
1.74 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
/*
* Decompiled with CFR 0_118.
*/
package com.adobe.cq.dam.s7imaging.impl.ps.access_log;
import java.sql.Date;
import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class TimeStamper {
private static final String TIME_STUB = "yyyy-MM-dd HH:mm:ss.000";
private static final String PATTERN = "yyyy-MM-dd HH:mm:ss.000 Z";
private final Format dateFormat;
private long currentTimeSec;
private String currentTimeStamp;
public TimeStamper() {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.000 Z");
Calendar calendar = Calendar.getInstance();
format.setCalendar(calendar);
this.dateFormat = format;
this.getCourseTimeStamp(System.currentTimeMillis());
}
public synchronized String getTimeStamp(long time) {
StringBuilder buffer = new StringBuilder(23);
this.getTimeStamp(buffer, time);
return buffer.toString();
}
public synchronized void getTimeStamp(StringBuilder buffer, long time) {
String courceTimeStamp = this.getCourseTimeStamp(time);
String millis = Long.toString(time % 1000);
buffer.append(courceTimeStamp.substring(0, "yyyy-MM-dd HH:mm:ss.000".length() - millis.length()));
buffer.append(millis);
buffer.append(courceTimeStamp.substring("yyyy-MM-dd HH:mm:ss.000".length()));
}
private String getCourseTimeStamp(long time) {
long timeSec = time / 1000 * 1000;
if (timeSec != this.currentTimeSec) {
Date date = new Date(time);
date.setTime(time);
this.currentTimeStamp = this.dateFormat.format(date);
this.currentTimeSec = timeSec;
}
return this.currentTimeStamp;
}
}