Hacker News new | past | comments | ask | show | jobs | submit login

I’m not convinced this article is correct.

Posix defers to ISO C where they differ: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf

See page 391. The encoding of Unix time is explicitly unspecified there.

Posix goes on to say: http://pubs.opengroup.org/onlinepubs/9699919799/

“ The time() function shall return the value of time [CX] [Option Start] in seconds since the Epoch. [Option End]”

So, Unix time is optionally seconds since the epoch, with no further guidance about leap seconds.

Also, the spec makes it clear that time_t needs to be converted into the appropriate time zone, which suggests it does not reflect leap seconds.

I’d be convinced by source code or documentation for both BSD and Linux showing they’re intentionally not posix compliant on this front, and apply leap seconds to Unix ticks and not their time zone conversions.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: