PhpRiot
News Archive
PhpRiot Newsletter
Your Email Address:

More information

Pumka.net: Why MySQL timestamp is 24 seconds different from PHP

Note: This article was originally published at PHPDeveloper on 27 October 2010.
PHPDeveloper

On the Pumka.net blog, Anton Oliink has an interesting problem where his timestamp on the PHP side of his application was different than the one on his MySQL backend's side - by 24 seconds, in fact.

You may find that timestamp value returned by MySQL UNIX_TIMESTAMP() function is 24 seconds grater than those returned by PHP functions and classes like strtotime(), mktime, DateTime::getTimestamp(), Zend_Date::getTimestamp().

As it turns out, the issue isn't' really an "issue" after all - it's caused by MySQL's compensation for leap seconds. He gives a few ways you can avoid it being an issue in your application, though: disable leap seconds, only convert to timestamps on the PHP side or just use the "unix_timestamp()" and "from_unixtime()" methods to work with the values.