move date formatters to KomgaHelper (#14989)
apply UTC timezone to formatters return time as 0 if parsing fails
This commit is contained in:
parent
5299ba7da5
commit
04f8307fd9
@ -1,3 +1,11 @@
|
||||
## 1.3.44
|
||||
|
||||
Minimum Komga version required: `0.151.0`
|
||||
|
||||
### Fix
|
||||
|
||||
* Better date/time parsing
|
||||
|
||||
## 1.3.43
|
||||
|
||||
Minimum Komga version required: `0.151.0`
|
||||
|
@ -6,7 +6,7 @@ ext {
|
||||
extName = 'Komga'
|
||||
pkgNameSuffix = 'all.komga'
|
||||
extClass = '.KomgaFactory'
|
||||
extVersionCode = 43
|
||||
extVersionCode = 44
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
@ -46,8 +46,6 @@ import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
import java.security.MessageDigest
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Date
|
||||
import java.util.Locale
|
||||
|
||||
open class Komga(suffix: String = "") : ConfigurableSource, UnmeteredSource, HttpSource() {
|
||||
@ -302,26 +300,26 @@ open class Komga(suffix: String = "") : ConfigurableSource, UnmeteredSource, Htt
|
||||
|
||||
private fun parseDate(date: String?): Long =
|
||||
if (date == null)
|
||||
Date().time
|
||||
0
|
||||
else {
|
||||
try {
|
||||
SimpleDateFormat("yyyy-MM-dd", Locale.US).parse(date).time
|
||||
KomgaHelper.formatterDate.parse(date)?.time ?: 0
|
||||
} catch (ex: Exception) {
|
||||
Date().time
|
||||
0
|
||||
}
|
||||
}
|
||||
|
||||
private fun parseDateTime(date: String?): Long =
|
||||
if (date == null)
|
||||
Date().time
|
||||
0
|
||||
else {
|
||||
try {
|
||||
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.US).parse(date).time
|
||||
KomgaHelper.formatterDateTime.parse(date)?.time ?: 0
|
||||
} catch (ex: Exception) {
|
||||
try {
|
||||
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S", Locale.US).parse(date).time
|
||||
KomgaHelper.formatterDateTimeMilli.parse(date)?.time ?: 0
|
||||
} catch (ex: Exception) {
|
||||
Date().time
|
||||
0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,14 @@
|
||||
package eu.kanade.tachiyomi.extension.all.komga
|
||||
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import java.util.TimeZone
|
||||
|
||||
object KomgaHelper {
|
||||
val formatterDate = SimpleDateFormat("yyyy-MM-dd", Locale.US)
|
||||
.apply { timeZone = TimeZone.getTimeZone("UTC") }
|
||||
val formatterDateTime = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.US)
|
||||
.apply { timeZone = TimeZone.getTimeZone("UTC") }
|
||||
val formatterDateTimeMilli = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S", Locale.US)
|
||||
.apply { timeZone = TimeZone.getTimeZone("UTC") }
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user