tai64nlocal(8)
β¨ tai64nlocal(8) β the manual page, but make it make sense π
okay bestie, gather round, because this little tool from the System Manager's Manual is about to become your new hyperfixation. it's called tai64nlocal and it does exactly one thing and does it flawlessly.
πΈ NAME πΈ
tai64nlocal β converts precise TAI64N timestamps to a human-readable format.
like. it takes the unreadable time goop and turns it into something your eyeballs can parse. that's it. that's the whole job. and honestly? iconic. π
π SYNOPSIS π
tai64nlocal
no flags. no arguments. no drama. she just runs. β¨
π DESCRIPTION π
okay so here's the tea. tai64nlocal reads lines from stdin. and it's got a whole vibe check for each line:
- if a line does not begin with
@,tai64nlocalwrites it tostdoutwithout change. no notes, no edits, she just passes it along, unbothered, moisturized, in her lane. π¦ - if a line does begin with
@,tai64nlocallooks for a timestamp after the@, in the format printed bytai64n(8), and writes the line tostdoutwith the timestamp converted to local time in ISO format:YYYY-MM-DD HH:MM:SS.SSSSSSSSS.
so like, for example, in the US/Pacific time zone, the input line
@4000000037c219bf2ef02e94 mark
should be printed as
1999-08-23 21:03:43.787492500 mark
look at her. glow up complete. ππ
π¨ beware bestie π¨ β the current implementation oftai64nlocalrelies on the UNIXlocaltimelibrary routine to find the local time. somelocaltimeimplementations use a broken time scale that does not account for leap seconds. on systems that use the Olson tz library (with an up-to-date leap-second table), you can fix this problem by setting your time zone to, e.g,right/US/Pacificinstead ofUS/Pacific. iykyk. π§
π¨ also beware π¨ β most localtime implementations are not Y2038-compliant. that's a future-us problem, but she said it, not me. π
and one more lil fun fact for the girlies: tai64nlocal does not allocate any memory after it starts, except possibly inside localtime. lowkey a minimalist queen. π
π EXIT CODES π
tai64nlocalexits0when it sees end of input. clean, polite, a gentlewoman. π«Ά- it exits
111without an error message if it has trouble readingstdinor writingstdout. no explanation, no apology, just a number and a dream. π
π¦ SEE ALSO π¦
the whole daemontools friend group, gathered here today:
supervise(8)svc(8)svok(8)svstat(8)svscanboot(8)svscan(8)readproctitle(8)fghack(8)pgrphack(8)multilog(8)tai64n(8)setuidgid(8)envuidgid(8)envdir(8)softlimit(8)setlock(8)
and the mothership herself:
http://cr.yp.to/daemontools.html
and that's the whole page bestie, no cap. πβ¨πΈπ¦π
this was tai64nlocal(8) from the System Manager's Manual β she's a tiny tool, she's from cr.yp.to/daemontools.html, and she will absolutely carry your log timestamps into the light. go forth and convert. periodt. π
π
π¦ where this page comes from
- debian bookworm: daemontools 1:0.76-8.1 Β· LicenseRef-public-domain
- debian trixie: daemontools 1:0.76-14 Β· LicenseRef-public-domain
- nixpkgs unstable: daemontools 0.76
- ubuntu jammy: daemontools 1:0.76-7
- ubuntu noble: daemontools 1:0.76-10 Β· LicenseRef-public-domain
- ubuntu questing: daemontools 1:0.76-15
- ubuntu resolute: daemontools 1:0.76-15build1 Β· LicenseRef-public-domain
- ubuntu stonking: daemontools 1:0.76-15build1 Β· LicenseRef-public-domain
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms