I wrote a small custom component using Lit[1] for use on my personal blog[2]. It provides some clever logic around timestamps, showing them in the readers time zone and with their locale formatting. Should that fail, there's a fallback to just plain text. When working with shortened, relative, or whatever else timestamps, the full value is available, in iso 8601, as the title text. I've used them all over the site, and they work rather nicely
A funny story about developing them. I had a friend in India check them to see if they worked on his computer/browser combo, and for a short period of time I was incredibly frustrated at the screenshots he was sending back. They displayed nearly the exact same time as mine, but shifted by half an hour. After a bit of thought, I realized his locale formatting didn't use a meridian indicator, and his time zone was 12:30 different than mine, so 9pm was 9:30 in the morning for him
[1]: https://github.com/paradox460/pdx.su/blob/main/assets%2Fjs%2...
[2]: https://pdx.su