$second (Get Second)

Last updated: 2026-10-09

$second (Get Second)

$second returns the second part of a date (0 to 59) — useful for second-level labels or timestamp checks. It returns an integer without zero padding; use %S of $dateToString for two digits. It combines with $minute, $hour, and $millisecond to rebuild time parts at any precision. timezone does not change the second for ordinary offsets.

CategoryDate
MongoDB Version1.0+
Example Languagemongosh (Shell)

📝 Syntax

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

⚙️ Parameters

dateRequired; the date expression.
timezoneOptional; does not affect the second for ordinary offsets.

Returns:The second (0-59); null if date is null.

▶ Example

Run the commands below in your local mongosh (requires a running mongod):

// $second + $millisecond: millisecond-level labels
 db.sensors.aggregate([
  { $project: { s: { $second: '$ts' }, ms: { $millisecond: '$ts' } } }
])

Output:

{ "_id": 1, "s": 42, "ms": 320 }
{ "_id": 2, "s": 0, "ms": 0 }

📌 Notes

More hands-on cases coming soon.

📚 Related Tutorials

❓ FAQ

QWhat is the range?
A0 to 59.
QHow to output a two-digit second?
AUse %S of $dateToString, or pad manually with $concat.
QHow to pair with $millisecond?
AAdd them directly to rebuild a second.millisecond part.
Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏