Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable with. Mirror available at: https://gitlab.com/89luca89/distrobox
Tested as working on Chimera Linux with FreeBSD date(1) and Alpine Linux with busybox date(1) which both cannot report nanoseconds or timezone with : separator only supported on GNU coreutils which handles these extensions via a strftime() wrapper in gnulib.
Digging deeper in https://github.com/mirror/busybox/blob/master/coreutils/date.c technically busybox can support at least nanoseconds if the Alpine one was compiled with CONFIG_ENABLE_FEATURE_DATE_NANO=y, but it's not and %N is still not portable. Besides I can't think of a situation where reading log output would need sub-second accuracy so in my eyes this should be perfectly fine.
Tested as working on Chimera Linux with FreeBSD
date(1)
and Alpine Linux with busyboxdate(1)
which both cannot report nanoseconds or timezone with:
separator only supported on GNU coreutils which handles these extensions via astrftime()
wrapper in gnulib.Digging deeper in https://github.com/mirror/busybox/blob/master/coreutils/date.c technically busybox can support at least nanoseconds if the Alpine one was compiled with
CONFIG_ENABLE_FEATURE_DATE_NANO=y
, but it's not and%N
is still not portable. Besides I can't think of a situation where reading log output would need sub-second accuracy so in my eyes this should be perfectly fine.https://docs.podman.io/en/stable/markdown/podman-logs.1.html#since-timestamp lists some of the other supported formats, I basically picked one of the ISO 8601 options listed on https://ijmacd.github.io/rfc3339-iso8601/ while accounting for timezone offset by always dealing in UTC timestamps.