

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

L'operatore di `$dateToString` aggregazione in Amazon DocumentDB viene utilizzato per convertire un valore di data o timestamp in una rappresentazione di stringa. Ciò è utile quando è necessario formattare la data e l'ora in un modo specifico per la visualizzazione o l'ulteriore elaborazione.

**Parametri**
+ `date`: Il valore della data o del timestamp da convertire in una stringa.
+ `format`: Una stringa che specifica il formato in cui deve essere rappresentata la data. La stringa di formato può includere diversi specificatori di formato, ad esempio `%Y` per l'anno a quattro cifre, per il mese a due cifre, `%m` per il giorno del mese a due cifre, `%d` ecc.
+ `timezone`: (opzionale) Il fuso orario da utilizzare per la conversione. Se non specificato, viene utilizzato il fuso orario del server che ospita il cluster Amazon DocumentDB.
+ `onNull`: (opzionale) Il valore da restituire se il `date` parametro è`null`.

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

L'esempio seguente dimostra l'utilizzo dell'`$dateToString`operatore per formattare il `logDate` campo della raccolta. `missionLog`

**Crea documenti di esempio**

```
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") }
]);
```

**Esempio di query**

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

**Output**

```
[
  {
    "_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"
  }
]
```

## Esempi di codice
<a name="dateToString-code"></a>

Per visualizzare un esempio di codice per l'utilizzo del `$dateToString` comando, scegliete la scheda relativa alla lingua che desiderate utilizzare:

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

Ecco un esempio di utilizzo dell'`$dateToString`operatore in un'applicazione 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 ]

Ecco un esempio di utilizzo dell'`$dateToString`operatore in un'applicazione 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()
```

------