view src/main/kotlin/name/blackcap/passman/Time.kt @ 7:f245b9a53495

Efficiency improvements.
author David Barts <n5jrn@me.com>
date Tue, 20 Sep 2022 21:54:32 -0700
parents 711cc42e96d7
children
line wrap: on
line source

package name.blackcap.passman

import java.text.ParseException
import java.text.SimpleDateFormat

val ISO8601 = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")
private val PARSERS = arrayOf<SimpleDateFormat>(
    SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").apply { isLenient = false },
    SimpleDateFormat("yyyy-MM-dd'T'HH:mm").apply { isLenient = false },
    SimpleDateFormat("yyyy-MM-dd").apply { isLenient = false },
)

fun parseDateTime(unparsed: String): Long? {
    for (parser in PARSERS) {
        val ret = try {
            parser.parse(unparsed)
        } catch (e: ParseException) {
            null
        }
        if (ret != null) {
            return ret.time
        }
    }
    return null
}