

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.

# \$1dateToString
<a name="dateToString"></a>

L'opérateur `$dateToString` d'agrégation dans Amazon DocumentDB est utilisé pour convertir une valeur de date ou d'horodatage en une représentation sous forme de chaîne. Cela est utile lorsque vous devez formater la date et l'heure d'une manière spécifique pour l'affichage ou un traitement ultérieur.

**Paramètres**
+ `date`: valeur de date ou d'horodatage à convertir en chaîne.
+ `format`: chaîne qui indique le format dans lequel la date doit être représentée. La chaîne de format peut inclure différents spécificateurs de format, tels que `%Y` pour l'année à quatre chiffres, `%m` pour le mois à deux chiffres, `%d` pour le jour du mois à deux chiffres, etc.
+ `timezone`: (facultatif) Fuseau horaire à utiliser pour la conversion. S'il n'est pas spécifié, le fuseau horaire du serveur hébergeant le cluster Amazon DocumentDB est utilisé.
+ `onNull`: (facultatif) La valeur à renvoyer si le `date` paramètre est`null`.

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

L'exemple suivant illustre l'utilisation de l'`$dateToString`opérateur pour formater le `logDate` champ de la `missionLog` collection.

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

```
db.missionLog.insertMany([
  { _id: 1, "event":"missionStart", logDate: new Date("2020-03-15T13:41:33Z") },
  { _id: 2, "event":"jumpPoint1", logDate: new Date("2020-03-15T13:45:34Z") },
  { _id: 3, "event":"jumpPoint2", logDate: new Date("2020-03-15T13:48:21Z") },
  { _id: 4, "event":"jumpPoint3", logDate: new Date("2020-03-15T13:52:09Z") },
  { _id: 5, "event":"missionEnd", logDate: new Date("2020-03-15T13:58:44Z") }
]);
```

**Exemple de requête**

```
db.missionLog.aggregate([
  {
    $project: {
      event: "$event",
      logDateFormatted: {
        $dateToString: {
          format: "%Y-%m-%d %H:%M:%S",
          date: "$logDate"
        }
      }
    }
  }
])
```

**Sortie**

```
[
  {
    "_id": 1,
    "event": "missionStart",
    "logDateFormatted": "2020-03-15 13:41:33"
  },
  {
    "_id": 2,
    "event": "jumpPoint1",
    "logDateFormatted": "2020-03-15 13:45:34"
  },
  {
    "_id": 3,
    "event": "jumpPoint2",
    "logDateFormatted": "2020-03-15 13:48:21"
  },
  {
    "_id": 4,
    "event": "jumpPoint3",
    "logDateFormatted": "2020-03-15 13:52:09"
  },
  {
    "_id": 5,
    "event": "missionEnd",
    "logDateFormatted": "2020-03-15 13:58:44"
  }
]
```

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

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

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

Voici un exemple d'utilisation de l'`$dateToString`opérateur dans une application 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('missionLog');

  const result = await collection.aggregate([
    {
      $project: {
        event: "$event",
        logDateFormatted: {
          $dateToString: {
            format: "%Y-%m-%d %H:%M:%S",
            date: "$logDate"
          }
        }
      }
    }
  ]).toArray();

  console.log(result);
  await client.close();
}

example();
```

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

Voici un exemple d'utilisation de l'`$dateToString`opérateur dans une application 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['missionLog']

    pipeline = [
        {
            '$project': {
                'event': '$event',
                'logDateFormatted': {
                    '$dateToString': {
                        'format': '%Y-%m-%d %H:%M:%S',
                        'date': '$logDate'
                    }
                }
            }
        }
    ]

    result = list(collection.aggregate(pipeline))
    print(result)
    client.close()

example()
```

------