« OpenOffice.org CalcでTSV(タブ区切り)ファイルを開く方法 | メイン | クッキー »

1.2.日付の正確な解析とファジィ解析(RubyクックブックをPHPに翻訳する)

RubyクックブックをPHPに翻訳してみる。

レシピ1.2.日付の正確な解析とファジィ解析

checkdate()は、グレグリオ歴の日付/時刻の妥当性を確認します。

<?php
var_dump(checkdate(12, 31, 2000));
var_dump(checkdate(2, 29, 2001));
?> 

bool(true)
bool(false)

strtotime()は、英文形式の日付を Unix タイムスタンプに変換します。

<?php
echo date('Y/n/j G:i:s', strtotime("now")), "\n";
// => 2007/8/16 13:16:01

echo date('Y/n/j G:i:s', strtotime("10 September 2000")), "\n";
// => 2000/9/10 0:00:00

echo date('Y/n/j G:i:s', strtotime("+1 day")), "\n";
// => 2007/8/17 13:16:01

echo date('Y/n/j G:i:s', strtotime("+1 week")), "\n";
// => 2007/8/23 13:16:01

echo date('Y/n/j G:i:s', strtotime("+1 week 2 days 4 hours 2 seconds")), "\n";
// => 2007/8/25 17:16:03

echo date('Y/n/j G:i:s', strtotime("next Thursday")), "\n";
// => 2007/8/23 0:00:00

echo date('Y/n/j G:i:s', strtotime("last Monday")), "\n";
// => 2007/8/13 0:00:00
?>

strptime()は、strftime()が生成した日付/時刻をパースします。
※注意: この関数は Windows 環境にはまだ実装されていません。

<?php
print_r(strptime('2007/8/18 13:25:37', '%Y/%m/%d %H:%M:%S'));
?php

Array
(
    [tm_sec] => 37
    [tm_min] => 25
    [tm_hour] => 13
    [tm_mday] => 18
    [tm_mon] => 7
    [tm_year] => 107
    [tm_wday] => 6
    [tm_yday] => 229
    [unparsed] =>
)
?>

トラックバック

このエントリーのトラックバックURL:
http://www.gesource.jp/mt/mt-tb.cgi/505

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2007年08月17日 23:32に投稿されたエントリーのページです。

ひとつ前の投稿は「OpenOffice.org CalcでTSV(タブ区切り)ファイルを開く方法」です。

次の投稿は「クッキー」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35