$dayOfMonth (月内の日)

最終更新:2026-10-09

$dayOfMonth (月内の日)

$dayOfMonth は日付の月内の日(1 から 31)を返します。日単位の統計でよく使われる式です。単純な日付式か、明示的な timezone を持つオブジェクトのどちらも受け付けます。注文を日ごとにグループ化する、日付ラベルを作る、月初を検出するなどの用途があります。整数を返します。タイムゾーンによって日が変わるため、必ず timezone を指定してください(既定は UTC)。

カテゴリ日付
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $dayOfMonth: { date: <date-expression>, timezone: <timezone> } }

⚙️ パラメータ

date必須。日付式。
timezone任意のタイムゾーン。既定は UTC。

戻り値:月内の日(1〜31)を整数で返します。date が null の場合は null。

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// $dayOfMonth: 注文日を取得(北京時間)
 db.orders.aggregate([
  { $project: {
      day: { $dayOfMonth: { date: '$orderDate', timezone: 'Asia/Shanghai' } }
  } }
])

出力:

{ "_id": 1, "day": 25 }
{ "_id": 2, "day": 1 }

📌 注意事項

さらなる実践ケースを近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q$dayOfMonth と %d の違いは?
A%d は 2 桁の文字列(05)を出力します。$dayOfMonth は整数(5)を出力します。
Q0 始まりですか 1 始まりですか?
A1 始まりです。月の 1 日は 1 になります。
Qタイムゾーンは結果に影響しますか?
Aはい。UTC とローカルゾーンでは日が変わることがあります。timezone を明示的に設定してください。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%