

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

O operador `$dateToString` de agregação no Amazon DocumentDB é usado para converter um valor de data ou timestamp em uma representação de string. Isso é útil quando você precisa formatar a data e a hora de uma forma específica para exibição ou processamento posterior.

**Parâmetros**
+ `date`: o valor da data ou do carimbo de data/hora a ser convertido em uma string.
+ `format`: uma string que especifica o formato no qual a data deve ser representada. A string de formato pode incluir vários especificadores de formato, como `%Y` para o ano de quatro dígitos, `%m` para o mês de dois dígitos, para o dia do mês com dois dígitos etc. `%d`
+ `timezone`: (opcional) O fuso horário a ser usado para a conversão. Se não for especificado, o fuso horário do servidor que hospeda o cluster Amazon DocumentDB será usado.
+ `onNull`: (opcional) O valor a ser retornado se o `date` parâmetro for`null`.

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

O exemplo a seguir demonstra o uso do `$dateToString` operador para formatar o `logDate` campo da `missionLog` coleção.

**Crie documentos de amostra**

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

**Exemplo de consulta**

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

**Saída**

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

## Exemplos de código
<a name="dateToString-code"></a>

Para ver um exemplo de código para usar o `$dateToString` comando, escolha a guia do idioma que você deseja usar:

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

Aqui está um exemplo de uso do `$dateToString` operador em um aplicativo 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 ]

Aqui está um exemplo de uso do `$dateToString` operador em um aplicativo 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()
```

------