「2011-05-02 10:00:00」のような日付をUnixタイムスタンプに変換するには、
strtotime関数を使用します。
PHPのマニュアル等では、「英文形式の日付をUnixタイムスタンプに変換する」という
説明になっていますが、実際には英文形式だけでなく、様々な書式を扱えるように
なっており、上記の「YYYY-MM-DD」形式の日付も変換が可能です。
echo strtotime(‘2011-05-02 10:00:00’);
また、日付の計算をする際にもこの関数を利用することができます。
[php]
echo strtotime(‘+1 day’); // 翌日
echo strtotime(‘+2 days’); // 2日後
echo strtotime(‘-1 week’); // 1週間前
echo strtotime(‘-2 weeks’); // 2週間前
echo strtotime(‘+1 month’); // 1ヶ月後
echo strtotime(‘+2 months’); // 2ヶ月後
[/php]
上記の例では全て「現在の日付」を基準としていますが、任意の日付を基準にして
計算したい場合は、以下のような記述も可能です。
[php]
$timestamp = strtotime(‘2011-04-29 +5 days’);
echo date(‘Y-m-d’, $timestamp); // 2011-05-04
[/php]