RubyクックブックをPHPに翻訳してみる。
レシピ1.1.今日の日付の割り出し
getdate()は、引数を指定しない場合、現在のローカルな時間に関する情報を返します。
<?php
//現在の時間を取得する
print_r(getdate());
?>
Array
(
[seconds] => 4
[minutes] => 29
[hours] => 12
[mday] => 16
[wday] => 4
[mon] => 8
[year] => 2007
[yday] => 227
[weekday] => Thursday
[month] => August
[0] => 1187234944
)
time()は、現在のUnixタイムスタンプを返します。
<?php
//現在のUnixタイムスタンプを返します。
print_r(time());
// => 1187589754
?>
date()は、ローカルの日付/時刻を書式化します。
<?php
//書式を指定して、現在の時間を取得する。
print_r(date('Y/n/j G:i:s'), time());
// => 2007/8/16 12:38:29
print_r(date('Y/n/j G:i:s'));
// => 2007/8/16 12:38:29
?>
mktime()は、日付を Unix のタイムスタンプとして取得します。
<?php
//1999年12月31日23時21分5秒のタイムスタンプを取得する
print_r(mktime(23, 21, 5, 12, 31, 1999));
// => 946650065
?>
昨日の日付を取得するには、date()とmktime()を組み合わせて使用します。
ポイントは「date(“d”) – 1」です。
<?php
//昨日の日付を取得する
$time = mktime(date("H"), date("i"), date("s"), date("m"), date("d") - 1, date("Y"));
print_r(date('Y/n/j G:i:s', $time));
// => 2007/8/15 12:50:22
?>
明日の日付を取得するには、「date(“d”) + 1」です。
<?php
//明日の日付を取得する
$time = mktime(date("H"), date("i"), date("s"), date("m"), date("d") + 1, date("Y"));
print_r(date('Y/n/j G:i:s', $time));
// => 2007/8/17 12:51:45
?>