$second (Obter Segundo)
Última atualização: 2026-10-09
$second (Obter Segundo)
$second retorna a parte de segundos de uma data (0 a 59) — útil para rótulos em nível de segundo ou verificações de timestamp. Retorna um inteiro sem zero à esquerda; use %S de $dateToString para dois dígitos. Combina com $minute, $hour e $millisecond para reconstruir partes de tempo em qualquer precisão. timezone não muda o segundo para offsets comuns.
| Categoria | Data |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $second: { date: <expressão de data>, timezone: <fuso horário> } }
⚙️ Parâmetros
| date | Obrigatório; a expressão de data. |
|---|---|
| timezone | Opcional; não afeta o segundo para deslocamentos comuns. |
Retorno:O segundo (0-59); null se date for null.
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $second + $millisecond: rótulos em nível de milissegundo
db.sensors.aggregate([
{ $project: { s: { $second: '$ts' }, ms: { $millisecond: '$ts' } } }
])
Saída:
{ "_id": 1, "s": 42, "ms": 320 }
{ "_id": 2, "s": 0, "ms": 0 }
📌 Notas
- Intervalo de 0 a 59, sem zero à esquerda; use %S para dois dígitos
- Combine com $millisecond para rótulos em nível de milissegundo
- Os segundos são independentes de zona para offsets comuns
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QQual é o intervalo?
ADe 0 a 59.
QComo gerar um segundo de dois dígitos?
AUse %S de $dateToString ou preencha manualmente com $concat.
QComo combinar com $millisecond?
ASome-os diretamente para reconstruir a parte segundo.milissegundo.