3

生の CSV データを処理し、週ごとにグループ化されたレポートを生成するスクリプトがあります。
これは次のようになります。

//timezone is set to Europe/London
$date = new DateTime($raw['order_date']); // example: 12/31/2012

$key = $date->format('Y W'); // 2012 01

$array[$key][] = $raw['product_id'];

大晦日に生成されたデータを解析しようとするまで、すべてが正常に機能していました。何らかの理由で、システムは 2012 年 12 月 31 日が 2012 年の第 1 週であると認識しています。バグなのか機能なのかはわかりませんが、作成されたレポートは間違いなく違う。

この問題を解決し、データを週ごとにグループ化する正しい方法は何ですか?

4

3 に答える 3

7

これを試して:

$key = $date->format('o W');
于 2013-02-19T20:29:00.413 に答える
0

週は木曜日と定義されていると思います。つまり、木曜日が2013年に該当する場合、その年の週としてカウントされます。

于 2013-02-19T20:27:19.260 に答える