とあるサイトで、時刻を使用したプログラムを実行した際、何故か変な値が返されることがわかり、調べたところ、サーバー時刻のずれが原因でした。
このサイトはさくらのクラウド上で動作していて、OSはCentOS6を使用しています。
なぜ時刻がずれてしまったのか調べたところ、時刻同期デーモンであるChronyd が動作していないことがわかりました。
$ sudo service chronyd status
chronyd is stopped
今後時刻がずれるのを防ぐためにChronydを有効化します。
sudo chkconfig chronyd on
sudo service chronyd start
これでOKです。
さくらのクラウドは仮想環境なので、ホストマシンの時刻と自動で合わせてくれる機能が実装されていたり、Chronydかntpdが自動で有効化されているものだと思っていたのですが、そうではなかったようです。
サーバーで動作するプログラムはサーバーの時刻がずれているとかなり影響が出ますので、さくらのクラウドでCentOS6を使われる方は、一度時刻同期が動作しているか確認した方がよさそうです。