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
	 Gauthier
						Gauthier