Definición
$isoWeekYearDevuelve el número del año en formato ISO 8601. El año comienza el lunes de la semana 1 y termina el domingo de la última semana.
El
$isoWeekYearLa expresión tiene lo siguiente Sintaxis de expresión del operador:{ $isoWeekYear: <dateExpression> } El argumento puede ser:
Una expresión que se resuelve en una fecha, una marca de tiempo o un ObjectID.
Un documento con este formato:
{ date: <dateExpression>, timezone: <tzExpression> } CampoDescripcióndatetimezoneOptional.La zona horaria del resultado de la operación.<tzExpression>debe ser una expresión válida que se resuelva en una cadena formateada como un identificador de zona horaria de Olsono una diferencia UTC. Si notimezonese proporciona, el resultado se muestraUTCen.FormatoEjemplosOlson Timezone Identifier"America/New_York" "Europe/London" "GMT" UTC Offset+/-[hh]:[mm], e.g. "+04:45" +/-[hh][mm], e.g. "-0530" +/-[hh], e.g. "+03"
Comportamiento
Ejemplo | Resultado | ||||
|---|---|---|---|---|---|
| 2015 | ||||
| 2003 | ||||
| 2017 | ||||
| 2016 | ||||
| 2024 | ||||
|
| ||||
|
| ||||
|
|
Nota
$isoWeekYear no puede tomar una cadena como argumento.
Ejemplo
Una colección llamada anniversaries contiene los siguientes documentos:
{ "_id" : 1, "date" : ISODate("2016-01-01T00:00:00Z") } { "_id" : 2, "date" : ISODate("2016-01-04T00:00:00Z") } { "_id" : 3, "date" : ISODate("2015-01-01T00:00:00Z") } { "_id" : 4, "date" : ISODate("2014-04-21T00:00:00Z") }
La siguiente operación devuelve el número de año en formato ISO 8601 para cada campo date.
db.anniversaries.aggregate( [ { $project: { yearNumber: { $isoWeekYear: "$date" } } } ] )
La operación devuelve los siguientes resultados:
{ "_id" : 1, "yearNumber" : 2015 } { "_id" : 2, "yearNumber" : 2016 } { "_id" : 3, "yearNumber" : 2015 } { "_id" : 4, "yearNumber" : 2014 }