$second (秒)
最終更新:2026-10-09
$second (秒)
$second は日付の「秒」部分(0〜59)を返します。秒単位のラベルやタイムスタンプの検証に便利です。戻り値はゼロ埋めしない整数で、2 桁の出力には $dateToString の %S を使います。$minute、$hour、$millisecond と組み合わせれば、任意の精度で時刻の部品を再構築できます。通常のオフセットではタイムゾーンが秒の値を変えることはありません。
| カテゴリ | 日付 |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
{ $second: { date: <date-expression>, timezone: <timezone> } }
⚙️ パラメータ
| date | 必須。日付式。 |
|---|---|
| timezone | 任意。通常のオフセットでは秒に影響しません。 |
戻り値:秒(0〜59)。date が null の場合は null。
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// $second + $millisecond: ミリ秒単位のラベル
db.sensors.aggregate([
{ $project: { s: { $second: '$ts' }, ms: { $millisecond: '$ts' } } }
])
出力:
{ "_id": 1, "s": 42, "ms": 320 }
{ "_id": 2, "s": 0, "ms": 0 }
📌 注意事項
- 範囲は 0〜59、ゼロ埋めなし。2 桁には %S を使う
- $millisecond と組み合わせるとミリ秒単位のラベルにできる
- 通常のオフセットでは秒はタイムゾーンに依存しない
🏷️ 関連タグ
💡 関連ケース
さらなる実践ケースを近日公開予定。
📚 関連チュートリアル
❓ よくある質問
Q範囲は?
A0 から 59 です。
Q2 桁の秒を出力するには?
A$dateToString の %S を使うか、$concat で手動で埋めます。
Q$millisecond と組み合わせるには?
Aそのまま足し合わせると、秒とミリ秒の部分を再構築できます。