

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

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

Operator `$dateToString` agregasi di Amazon DocumentDB digunakan untuk mengonversi nilai tanggal atau stempel waktu menjadi representasi string. Ini berguna ketika Anda perlu memformat tanggal dan waktu dengan cara tertentu untuk tampilan atau pemrosesan lebih lanjut.

**Parameter**
+ `date`: Nilai tanggal atau stempel waktu yang akan dikonversi ke string.
+ `format`: Sebuah string yang menentukan format di mana tanggal harus diwakili. String format dapat mencakup berbagai penentu format, seperti `%Y` untuk tahun empat digit, `%m` untuk bulan dua digit, `%d` untuk hari dua digit dalam sebulan, dll.
+ `timezone`: (opsional) Zona waktu yang akan digunakan untuk konversi. Jika tidak ditentukan, zona waktu server yang menghosting cluster Amazon DocumentDB digunakan.
+ `onNull`: (opsional) Nilai yang akan dikembalikan jika `date` parameternya`null`.

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

Contoh berikut menunjukkan penggunaan `$dateToString` operator untuk memformat `logDate` bidang `missionLog` koleksi.

**Buat dokumen sampel**

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

**Contoh kueri**

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

**Keluaran**

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

## Contoh kode
<a name="dateToString-code"></a>

Untuk melihat contoh kode untuk menggunakan `$dateToString` perintah, pilih tab untuk bahasa yang ingin Anda gunakan:

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

Berikut adalah contoh penggunaan `$dateToString` operator dalam aplikasi 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 ]

Berikut adalah contoh penggunaan `$dateToString` operator dalam aplikasi 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()
```

------