PHP manual states that time() returns \"the current UNIX timestamp\" ᴀ and microtime() returns the \"curre
The UNIX timestamp, as you get it from time() in PHP, is a peculiar beast.
It took me a long time to understand this, but what happens is that the timestamp increases during the leap second, and when the leap second is over, the timestamp (but not the UTC!) jumps back one second.
This has some important implications:
Workarounds
What if the Unix timestamp neither jumped backed abruptly nor stayed the same for 2 seconds? This is exactly what Google has made happen for their servers. Their solution was to slowly skew the time merely milliseconds at a time over a long period of time, to make the leap second shift virtually invisibly to applications. (As far as the applications and operating systems on Google servers are concerned, leap seconds are no longer inserted by the IERS.)