[ server ] [ scheduler ]- script scheduler - 5
This commit is contained in:
@@ -12,6 +12,9 @@ import java.util.concurrent.TimeUnit;
|
||||
|
||||
public class TimeUtils {
|
||||
|
||||
private static final ZoneId SYSTEM_TIME_ZONE_ID = ZoneId.of("UTC+8");
|
||||
|
||||
|
||||
/**
|
||||
* https://memorynotfound.com/calculate-relative-time-time-ago-java/
|
||||
* <p>
|
||||
@@ -22,34 +25,55 @@ public class TimeUtils {
|
||||
private static final Map<String, Long> times = new LinkedHashMap<>();
|
||||
|
||||
static {
|
||||
times.put("year",
|
||||
TimeUnit.DAYS.toMillis(365));
|
||||
times.put("month",
|
||||
TimeUnit.DAYS.toMillis(30));
|
||||
times.put("week",
|
||||
TimeUnit.DAYS.toMillis(7));
|
||||
times.put("day",
|
||||
TimeUnit.DAYS.toMillis(1));
|
||||
times.put("hour",
|
||||
TimeUnit.HOURS.toMillis(1));
|
||||
times.put("minute",
|
||||
TimeUnit.MINUTES.toMillis(1));
|
||||
times.put("second",
|
||||
TimeUnit.SECONDS.toMillis(1));
|
||||
times.put(
|
||||
"year",
|
||||
TimeUnit.DAYS.toMillis(365)
|
||||
);
|
||||
times.put(
|
||||
"month",
|
||||
TimeUnit.DAYS.toMillis(30)
|
||||
);
|
||||
times.put(
|
||||
"week",
|
||||
TimeUnit.DAYS.toMillis(7)
|
||||
);
|
||||
times.put(
|
||||
"day",
|
||||
TimeUnit.DAYS.toMillis(1)
|
||||
);
|
||||
times.put(
|
||||
"hour",
|
||||
TimeUnit.HOURS.toMillis(1)
|
||||
);
|
||||
times.put(
|
||||
"minute",
|
||||
TimeUnit.MINUTES.toMillis(1)
|
||||
);
|
||||
times.put(
|
||||
"second",
|
||||
TimeUnit.SECONDS.toMillis(1)
|
||||
);
|
||||
}
|
||||
|
||||
public static ByteBuffer currentTimeByteBuffer() {
|
||||
|
||||
byte[] timeBytes = LocalDateTime.now(ZoneId.of("UTC+8"))
|
||||
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))
|
||||
.getBytes(StandardCharsets.UTF_8);
|
||||
byte[] timeBytes = LocalDateTime
|
||||
.now(SYSTEM_TIME_ZONE_ID)
|
||||
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))
|
||||
.getBytes(StandardCharsets.UTF_8);
|
||||
|
||||
return ByteBuffer.wrap(timeBytes);
|
||||
}
|
||||
|
||||
public static LocalDateTime currentTime() {
|
||||
|
||||
return LocalDateTime.now(ZoneId.of("UTC+8"));
|
||||
return LocalDateTime.now(SYSTEM_TIME_ZONE_ID);
|
||||
}
|
||||
|
||||
public static LocalDateTime cvFromDate(Date date) {
|
||||
|
||||
return LocalDateTime.ofInstant(date.toInstant(),
|
||||
SYSTEM_TIME_ZONE_ID);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -57,8 +81,9 @@ public class TimeUtils {
|
||||
*/
|
||||
public static String currentTimeString() {
|
||||
|
||||
return LocalDateTime.now(ZoneId.of("UTC+8"))
|
||||
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
return LocalDateTime
|
||||
.now(SYSTEM_TIME_ZONE_ID)
|
||||
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -66,8 +91,9 @@ public class TimeUtils {
|
||||
*/
|
||||
public static String currentTimeStringFullSplit() {
|
||||
|
||||
return LocalDateTime.now(ZoneId.of("UTC+8"))
|
||||
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd-HH-mm-ss"));
|
||||
return LocalDateTime
|
||||
.now(SYSTEM_TIME_ZONE_ID)
|
||||
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd-HH-mm-ss"));
|
||||
|
||||
}
|
||||
|
||||
@@ -82,11 +108,12 @@ public class TimeUtils {
|
||||
for (Map.Entry<String, Long> time : times.entrySet()) {
|
||||
long timeDelta = duration / time.getValue();
|
||||
if (timeDelta > 0) {
|
||||
res.append(timeDelta)
|
||||
.append(" ")
|
||||
.append(time.getKey())
|
||||
.append(timeDelta > 1 ? "s" : "")
|
||||
.append(", ");
|
||||
res
|
||||
.append(timeDelta)
|
||||
.append(" ")
|
||||
.append(time.getKey())
|
||||
.append(timeDelta > 1 ? "s" : "")
|
||||
.append(", ");
|
||||
duration -= time.getValue() * timeDelta;
|
||||
level++;
|
||||
}
|
||||
@@ -104,8 +131,10 @@ public class TimeUtils {
|
||||
}
|
||||
|
||||
public static String toRelative(long duration) {
|
||||
return toRelative(duration,
|
||||
times.size());
|
||||
return toRelative(
|
||||
duration,
|
||||
times.size()
|
||||
);
|
||||
}
|
||||
|
||||
public static String toRelative(Date start, Date end) {
|
||||
@@ -115,7 +144,9 @@ public class TimeUtils {
|
||||
|
||||
public static String toRelative(Date start, Date end, int level) {
|
||||
assert start.after(end);
|
||||
return toRelative(end.getTime() - start.getTime(),
|
||||
level);
|
||||
return toRelative(
|
||||
end.getTime() - start.getTime(),
|
||||
level
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user