git.iko.soy/parseable-android
on 0da331f help sign in
26 lines 852 B history raw
1package com.parseable.android.data
3import java.time.Instant
4import java.time.ZoneId
5import java.time.ZonedDateTime
6import java.time.format.DateTimeFormatter
8private val displayFormatter = DateTimeFormatter.ofPattern("MMM dd HH:mm:ss.SSS")
10fun formatTimestamp(raw: String): String {
11 return try {
12 val instant = Instant.parse(raw)
13 val local = ZonedDateTime.ofInstant(instant, ZoneId.systemDefault())
14 local.format(displayFormatter)
15 } catch (_: Exception) {
16 // Try alternate format with +00:00 suffix
17 try {
18 val normalized = raw.replace("+00:00", "Z")
19 val instant = Instant.parse(normalized)
20 val local = ZonedDateTime.ofInstant(instant, ZoneId.systemDefault())
21 local.format(displayFormatter)
22 } catch (_: Exception) {
23 raw
24 }
25 }