fc2ブログ

ネットで見つけた面白い記事や、役立つのではと感じたネタなどを書いています。

PHP:年(Y)と週番号(W)からタイムスタンプを取得する方法

例えば今日が何年の第何週目かを知るには下の関数で取得出来ますが、
<?php
date('Y-W');
?>

⇒今日が2010年11月12日なら 2010-45 と表示されます。

でも、2010年の45週は何月何日なのかを知りたい時がありました。

で、そんな時どうするのかのメモ。

一発で簡単に求められます。

<?php
$ret=strtotime('2010W45');
?>

⇒2010年45週のタイムスタンプ 1289142000 が求められます。

後はdate('Y/n/j H:i:s', $ret);などとして好きなフォーマットで出力可能です。

さらに週の曜日指定をしたい場合は

<?php
月曜なら
$ret=strtotime('2010W451');
$ret=strtotime('2010W45');と変わらないので省略可能です。
火曜
$ret=strtotime('2010W452');
.
.
土曜
$ret=strtotime('2010W456');
日曜
$ret=strtotime('2010W457');
?>
です。

ちなみに第1週~9週はどうするかというと、
2011年第1週月曜日(2011/01/03)
$ret=strtotime('2011W011');

2011年第9週木曜日(2011/03/03)
$ret=strtotime('2011W094');
です。
Wの後が01~09なのがミソですね☆

スポンサーリンク