

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 ToParts
<a name="dateToParts"></a>

Nouveau depuis les versions 5.0.1 et 8.0

L'opérateur d'`$dateToParts`agrégation dans Amazon DocumentDB renvoie un document contenant les éléments constitutifs d'une valeur de date et d'heure, tels que l'année, le mois, le jour, l'heure, la minute, la seconde et la milliseconde.

**Paramètres**
+ `date`: valeur de date et d'heure à diviser en plusieurs parties.
+ `timezone`: (facultatif) Fuseau horaire à utiliser lors de l'extraction des parties de date. Si ce n'est pas spécifié, les pièces sont renvoyées en UTC.
+ `iso8601`: (facultatif) Si cette valeur est définie sur`true`, le document renvoyé utilise des parties de date ISO 8601 (`isoWeekYear`,`isoWeek`,`isoDayOfWeek`). La valeur par défaut est `false`.

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

L'exemple suivant montre comment utiliser l'`$dateToParts`opérateur pour renvoyer les différentes parties d'une date.

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

```
db.events.insertMany([
  { _id: 1, eventDate: ISODate("2023-04-01T10:30:15Z") },
  { _id: 2, eventDate: ISODate("2023-12-25T18:45:00Z") }
]);
```

**Exemple de requête**

```
db.events.aggregate([
  {
    $project: {
      _id: 1,
      parts: { $dateToParts: { date: "$eventDate" } }
    }
  }
])
```

**Sortie**

```
[
  {
    "_id": 1,
    "parts": { "year": 2023, "month": 4, "day": 1, "hour": 10, "minute": 30, "second": 15, "millisecond": 0 }
  },
  {
    "_id": 2,
    "parts": { "year": 2023, "month": 12, "day": 25, "hour": 18, "minute": 45, "second": 0, "millisecond": 0 }
  }
]
```

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

Pour afficher un exemple de code d'utilisation de la `$dateToParts` 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('events');

  const result = await collection.aggregate([
    {
      $project: {
        _id: 1,
        parts: { $dateToParts: { date: "$eventDate" } }
      }
    }
  ]).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['events']

    result = list(collection.aggregate([
        {
            '$project': {
                '_id': 1,
                'parts': { '$dateToParts': { 'date': '$eventDate' } }
            }
        }
    ]))

    print(result)

    client.close()

example()
```

------