

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

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

El operador de `$dateToString` agregación de Amazon DocumentDB se utiliza para convertir un valor de fecha o marca horaria en una representación de cadena. Esto resulta útil cuando necesita formatear la fecha y la hora de una manera específica para mostrarlas o procesarlas posteriormente.

**Parámetros**
+ `date`: el valor de fecha o marca horaria que se va a convertir en una cadena.
+ `format`: cadena que especifica el formato en el que debe representarse la fecha. La cadena de formato puede incluir varios especificadores de formato, por ejemplo, `%Y` para el año de cuatro dígitos, `%m` para el mes de dos dígitos, `%d` para el día del mes de dos dígitos, etc.
+ `timezone`: (opcional) La zona horaria que se utilizará para la conversión. Si no se especifica, se utiliza la zona horaria del servidor que aloja el clúster de Amazon DocumentDB.
+ `onNull`: (opcional) El valor que se devolverá si el `date` parámetro es`null`.

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

El siguiente ejemplo demuestra el uso del `$dateToString` operador para formatear el `logDate` campo de la `missionLog` colección.

**Cree documentos de muestra**

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

**Ejemplo de consulta**

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

**Salida**

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

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

Para ver un ejemplo de código para usar el `$dateToString` comando, elija la pestaña del idioma que desee usar:

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

A continuación, se muestra un ejemplo del uso del `$dateToString` operador en una aplicación de 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 ]

Este es un ejemplo del uso del `$dateToString` operador en una aplicación de 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()
```

------