From 5063ab12c48a6612d903c44c943230b6c323f602 Mon Sep 17 00:00:00 2001 From: Keuin Date: Sun, 24 Jan 2021 20:01:17 +0800 Subject: Code refactor: eliminate unnecessary instance creation of IncrementalBackupFileNameEncoder --- .../com/keuin/kbackupfabric/util/DateUtil.java | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/main/java/com/keuin/kbackupfabric/util/DateUtil.java (limited to 'src/main/java/com/keuin/kbackupfabric/util/DateUtil.java') diff --git a/src/main/java/com/keuin/kbackupfabric/util/DateUtil.java b/src/main/java/com/keuin/kbackupfabric/util/DateUtil.java new file mode 100644 index 0000000..b101cfd --- /dev/null +++ b/src/main/java/com/keuin/kbackupfabric/util/DateUtil.java @@ -0,0 +1,31 @@ +package com.keuin.kbackupfabric.util; + +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZoneOffset; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; + +public class DateUtil { + private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd_HH-mm-ss"); + + public static String getString(LocalDateTime localDateTime) { + return localDateTime.format(formatter); + } + + public static String getString(ZonedDateTime zonedDateTime) { + return zonedDateTime.withZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime().format(formatter); + } + + @Deprecated + public static long toEpochSecond(String dateTimeString) { + ZoneId systemZone = ZoneId.systemDefault(); // my timezone + LocalDateTime localDateTime = LocalDateTime.parse(dateTimeString, formatter); + ZoneOffset currentOffsetForMyZone = systemZone.getRules().getOffset(localDateTime); + return localDateTime.toEpochSecond(currentOffsetForMyZone); + } + + public static LocalDateTime toLocalDateTime(String timeString) { + return LocalDateTime.parse(timeString, formatter); + } +} -- cgit v1.2.3