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
|
## 1.3.43
|
||||||
|
|
||||||
Minimum Komga version required: `0.151.0`
|
Minimum Komga version required: `0.151.0`
|
||||||
|
@ -6,7 +6,7 @@ ext {
|
|||||||
extName = 'Komga'
|
extName = 'Komga'
|
||||||
pkgNameSuffix = 'all.komga'
|
pkgNameSuffix = 'all.komga'
|
||||||
extClass = '.KomgaFactory'
|
extClass = '.KomgaFactory'
|
||||||
extVersionCode = 43
|
extVersionCode = 44
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
@ -46,8 +46,6 @@ import uy.kohesive.injekt.Injekt
|
|||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
import java.security.MessageDigest
|
import java.security.MessageDigest
|
||||||
import java.text.SimpleDateFormat
|
|
||||||
import java.util.Date
|
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
|
|
||||||
open class Komga(suffix: String = "") : ConfigurableSource, UnmeteredSource, HttpSource() {
|
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 =
|
private fun parseDate(date: String?): Long =
|
||||||
if (date == null)
|
if (date == null)
|
||||||
Date().time
|
0
|
||||||
else {
|
else {
|
||||||
try {
|
try {
|
||||||
SimpleDateFormat("yyyy-MM-dd", Locale.US).parse(date).time
|
KomgaHelper.formatterDate.parse(date)?.time ?: 0
|
||||||
} catch (ex: Exception) {
|
} catch (ex: Exception) {
|
||||||
Date().time
|
0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun parseDateTime(date: String?): Long =
|
private fun parseDateTime(date: String?): Long =
|
||||||
if (date == null)
|
if (date == null)
|
||||||
Date().time
|
0
|
||||||
else {
|
else {
|
||||||
try {
|
try {
|
||||||
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.US).parse(date).time
|
KomgaHelper.formatterDateTime.parse(date)?.time ?: 0
|
||||||
} catch (ex: Exception) {
|
} catch (ex: Exception) {
|
||||||
try {
|
try {
|
||||||
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S", Locale.US).parse(date).time
|
KomgaHelper.formatterDateTimeMilli.parse(date)?.time ?: 0
|
||||||
} catch (ex: Exception) {
|
} 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