diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt index 615687aff..ba4e42c7a 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt @@ -55,8 +55,10 @@ import tachiyomi.presentation.core.icons.Reddit import tachiyomi.presentation.core.icons.X import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get +import java.time.Instant import java.time.LocalDateTime import java.time.ZoneId +import java.time.ZonedDateTime import java.time.format.DateTimeFormatter import java.util.Locale @@ -269,11 +271,15 @@ object AboutScreen : Screen() { internal fun getFormattedBuildTime(): String { return try { - val df = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm'Z'", Locale.US) - .withZone(ZoneId.of("UTC")) - val buildTime = LocalDateTime.from(df.parse(BuildConfig.BUILD_TIME)) - - buildTime!!.toDateTimestampString(UiPreferences.dateFormat(Injekt.get().dateFormat().get())) + LocalDateTime.ofInstant( + Instant.parse(BuildConfig.BUILD_TIME), + ZoneId.systemDefault(), + ) + .toDateTimestampString( + UiPreferences.dateFormat( + Injekt.get().dateFormat().get(), + ), + ) } catch (e: Exception) { BuildConfig.BUILD_TIME } diff --git a/buildSrc/src/main/kotlin/Commands.kt b/buildSrc/src/main/kotlin/Commands.kt index 8e5fe7649..5592c4eef 100644 --- a/buildSrc/src/main/kotlin/Commands.kt +++ b/buildSrc/src/main/kotlin/Commands.kt @@ -1,8 +1,8 @@ import org.gradle.api.Project import java.io.ByteArrayOutputStream -import java.text.SimpleDateFormat -import java.util.TimeZone -import java.util.Date +import java.time.LocalDateTime +import java.time.ZoneOffset +import java.time.format.DateTimeFormatter // Git is needed in your system PATH for these commands to work. // If it's not installed, you can return a random value as a workaround @@ -16,10 +16,11 @@ fun Project.getGitSha(): String { // return "1" } +private val BUILD_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'") + +@Suppress("UnusedReceiverParameter") fun Project.getBuildTime(): String { - val df = SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'") - df.timeZone = TimeZone.getTimeZone("UTC") - return df.format(Date()) + return LocalDateTime.now(ZoneOffset.UTC).format(BUILD_TIME_FORMATTER) } fun Project.runCommand(command: String): String { @@ -29,4 +30,4 @@ fun Project.runCommand(command: String): String { standardOutput = byteOut } return String(byteOut.toByteArray()).trim() -} \ No newline at end of file +}