我試圖用日期聚合運算符調整時區。 我需要在$signs.timestamp
字段上進行-7小時的調整。mongodb日期彙總運算符使用php的時區調整
這是我的代碼:
function statsSignatures() {
$cursor = $this->db->collection->users->aggregate(
array('$unwind' => '$signs'),
array('$project'=>array(
'signs'=>'$signs',
'y'=>array('$year'=>'$signs.timestamp'),
'm'=>array('$month'=>'$signs.timestamp'),
'd'=>array('$dayOfMonth'=>'$signs.timestamp'),
'h'=>array('$hour'=>'$signs.timestamp')
)),
array('$group'=>array(
'_id'=>array('year'=>'$y','month'=>'$m','day'=>'$d','hour'=>'$h'),
'total'=>array('$sum'=>1)
)),
array('$sort'=>array(
'_id.year'=>1,
'_id.month'=>1,
'_id.day'=>1,
'_id.hour'=>1
))
);
return $cursor['result'];
}
我使用MongoDB的版本2.6.3。
非常感謝!
是,時區的問題往往是具有挑戰性的。但是,正如目前所寫,很難說出你在問什麼。請閱讀[我如何問一個好問題?](http://stackoverflow.com/help/how-to-ask)和[如何創建最小,完整和可驗證的示例](http:// stackoverflow。 com/help/mcve),然後回來編輯你的問題。謝謝。 –
$ signs.timestamp是mongodate對象。我需要在分組前對其進行-7小時調整 –
您確定嗎?您是否認爲在夏令時期間有許多時區遵循不同的偏移量?例如,美國山地時間(亞利桑那州大部分地區除外)在標準時間爲-7,在白天爲-6。 –