

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# $ date FromParts
<a name="dateFromParts"></a>

Nouveau depuis les versions 5.0.1 et 8.0

L'opérateur d'`$dateFromParts`agrégation dans Amazon DocumentDB construit et renvoie une valeur de date et d'heure à partir de ses éléments constitutifs, tels que l'année, le mois, le jour, l'heure, la minute, la seconde et la milliseconde.

**Paramètres**
+ `year`: L'année civile. Obligatoire lorsque vous n'utilisez pas de pièces ISO 8601.
+ `month`,`day`,`hour`,`minute`,`second`, `millisecond` : (facultatif) Les autres composants de date et d'heure. Les composants omis utilisent par défaut leur valeur valide la plus basse.
+ `isoWeekYear`,`isoWeek`, `isoDayOfWeek` : (facultatif) composants de date ISO 8601. Utilisez-les au lieu de `year``month`, et `day` pour construire une date à partir d'une date de semaine ISO 8601.
+ `timezone`: (facultatif) Fuseau horaire à utiliser lors de la construction de la date. Si ce n'est pas spécifié, l'UTC est utilisé.

## Exemple (MongoDB Shell)
<a name="dateFromParts-examples"></a>

L'exemple suivant montre comment utiliser l'`$dateFromParts`opérateur pour créer une date à partir de composants individuels.

**Création d'exemples de documents**

```
db.parts.insertMany([
  { _id: 1, y: 2023, m: 4, d: 1 },
  { _id: 2, y: 2023, m: 12, d: 25 }
]);
```

**Exemple de requête**

```
db.parts.aggregate([
  {
    $project: {
      _id: 1,
      constructedDate: {
        $dateFromParts: { year: "$y", month: "$m", day: "$d" }
      }
    }
  }
])
```

**Sortie**

```
[
  { "_id": 1, "constructedDate": ISODate("2023-04-01T00:00:00Z") },
  { "_id": 2, "constructedDate": ISODate("2023-12-25T00:00:00Z") }
]
```

## Exemples de code
<a name="dateFromParts-code"></a>

Pour afficher un exemple de code d'utilisation de la `$dateFromParts` commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

------
#### [ Node.js ]

```
const { MongoClient } = require('mongodb');

async function example() {
  const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false');
  const db = client.db('test');
  const collection = db.collection('parts');

  const result = await collection.aggregate([
    {
      $project: {
        _id: 1,
        constructedDate: {
          $dateFromParts: { year: "$y", month: "$m", day: "$d" }
        }
      }
    }
  ]).toArray();

  console.log(result);

  await client.close();
}

example();
```

------
#### [ Python ]

```
from pymongo import MongoClient

def example():
    client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false')
    db = client['test']
    collection = db['parts']

    result = list(collection.aggregate([
        {
            '$project': {
                '_id': 1,
                'constructedDate': {
                    '$dateFromParts': { 'year': '$y', 'month': '$m', 'day': '$d' }
                }
            }
        }
    ]))

    print(result)

    client.close()

example()
```

------