ISO 8601 では、次の形式の週の日付が想定されています。
YYYY\WWW
例えば:
2012W52
は 2012 年の 52 週目の始まりで、実際には 2012/12/24 です。
週の日付をタイムスタンプに戻すには、php 関数を使用できますstrtotime()
。コードは次のようになります。
$oW = '2012W53';
$time = strtotime($oW);
// will output: 2012-12-31T00:00:00+01:00 (I'm in CEST)
echo date('c', $time);
ただし、上記の形式 - 201300 - は では理解できませんstrtotime()
。2 つの問題があります。
- 週に 00 は使用できません。週に使用できる値は 01 から 53 です
- 真ん中の「W」が抜けています。ただし、ISO 8601 規格に属しています。
私のテストでは、2012W53 が 2013W00 (または、ご想像のとおり W01) ではなく 2012/12/31 を指していることがわかりました。
さらに、php マニュアルのこのコメントと、これに関するウィキペディアの記事を読むことができます。