KAKIMASSE

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

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

      2011/01/14

例えば今日が何年の第何週目かを知るには下の関数で取得出来ますが、

<?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なのがミソですね☆

 - PHP

SPONSORD LINKS

スポンサーリンク

スポンサーリンク

Message

メールアドレスが公開されることはありません。

  関連記事

no image
PHP:au携帯のデバイスIDと機種名称(モデル名)のリストを配列で作ってみました

ケータイサイトネタです。 PHPでPEARのライブラリNet_UserAgent ...

no image
PHP:配列の文字コードをmb_convert_encodingを使わずに変換するには?

PHPで配列に格納されている値に対して mb_convert_encodingで ...

no image
phpmyadminにアクセスするとPHP Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /PATH TO PHPMYADMIN/libraries/Error_Handler.class.php on line 25 とエラーになる

久しぶりにサーバネタ。 phpmyadminをインストールしようと http:/ ...

no image
PHP:今週月曜00:00:00のタイムスタンプを取得したい

※2011/4/23 追記 コメントにて一行で解決する方法を教えて頂きました。 ...

PHPで Warning: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead in /path/to/file on line *** のエラーの対応方法

centos6、PHP5.3のサーバで Warning: strtotime() ...

no image
PHP:文字列の比較で == は絶対に使っちゃだめ。

マジですか? しかもかなり前のエントリー(汗)。 PHPでご飯食べてる先輩もフツ ...

no image
PHP:glob関数で複数パターンのマッチングを行ないたい

何かと便利なPHPのglob関数。 よく <?php $files = g ...

PHPで Fatal error: Call to undefined function mcrypt_module_open() in /path/to/file on line *** とエラーが表示される場合の対処方法

centos6、php5.3の環境でmcrypt_module_open()を使 ...

.htmlファイルでPHPを動かす方法(UTF-8の文字化け対策方法もあり)

photo credit: DaveBleasdale via photopin ...

no image
PHP:半角スペース、全角スペース、タブなどの空白文字を半角スペースに置換したい。(連続していてもOK)

PHPで文字列を加工するときにexplode関数などで区切りたい時 文字列が色々 ...