Konversi string ke datetime dan sebaliknya

Pada artikel kali ini akan ditunjukkan cara menggunakan strptime() dan strftime() pada modul datetime dari standard library untuk melakukan konversi sebuah nilai dari string(teks) ke datetime dan sebaliknya.

strptime() : string parse time

Fungsi strptime() digunakan untuk mengkonversi teks/string dalam format tertentu menjadi datetime. Fungsi ini sering kita manfaatkan untuk mengkonversi teks yang berasal dari luar program (misalkan API, input pengguna, file, dsb) menjadi datetime agar dapat kita pergunakan pada operasi-operasi terkait tanggal dan waktu.

Syntax

datetime.strptime(teks,format)

Fungsi strptime() menerima dua masukan yakni teks yang akan dikonversi dan format yang akan digunakan untuk konversi. Format yang digunakan tentunya harus disesuaikan dengan posisi nilai pada teks yang akan dikonversi.

Contoh 1

from datetime import datetime as dtm

tgl_text = '27-07-2005'
print(tgl_text, type(tgl_text)) # tipe data str
tgl_date = dtm.strptime(tgl_text,'%d-%m-%Y') # konversi string ke date dengan format tertentu
print(tgl_date, type(tgl_date)) # tipe data datetime.datetime

Pada contoh di atas, teks yang dikonversi adalah ’27-07-2005′ (tanggal-bulan-tahun), maka format yang sesuai untuk digunakan adalah ‘%d-%m-%Y’ dimana %d mewakili tanggal, %m mewakili bulan (angka), dan %Y mewakili 4 digit tahun.

Contoh 2

from datetime import datetime as dtm

masuk_str = '05-08-2005 07:35:12'
masuk_date = dtm.strptime(masuk_str,'%d-%m-%Y %H:%M:%S')
print(masuk_date, type(masuk_date))

Pada contoh kedua, teks yang dikonversi dilengkapi dengan nilai jam:menit:detik sehingga format yang digunakan untuk konversi disesuaikan menjadi ‘%d-%m-%Y %H:%M:%S’, dimana tambahan %H, %M, dan %S secara berturut-turut mewakili nilai Jam,Menit, dan Detik.

strftime() : string format time

Kebalikan dari strptime(), strftime() digunakan untuk mengkonversi datetime ke dalam teks dalam format tertentu. Fungsi ini kita butuhkan biasanya saat ingin menampilkan tanggal ke dalam bentuk yang mudah dipahami oleh user atau karena tuntutan spesifikasi sistem lain yang menerima input dari sistem kita.

Syntax

datetime.strftime(dt,format)

Fungsi strftime() menerima dua masukan yakni nilai datetime dan format yang menjadi tujuan konversi.

Contoh

from datetime import datetime as dtm

saat_ini = dtm.now() # tgl dan jam saat ini
masuk_str1 = dtm.strftime(saat_ini,'%d-%b-%Y %H:%M:%S')
masuk_str2 = dtm.strftime(saat_ini,'%d-%B-%Y %H:%M:%S')
print(masuk_str1)
print(masuk_str2)

Contoh di atas menunjukkan konversi dari datetime yang didapatkan dari fungsi datetime.now() yakni waktu saat ini, ke teks dengan dua format yang berbeda. Format pertama menggunakan %b yang mewakili nama bulan dalam 3 huruf, sedangkan format kedua menggunakan %B yang mewakili nama bulan yang lengkap.

Contoh kode / demo di repl.it

Jalankan kode berikut dan perhatikan outputnya untuk lebih memahami teknik penggunaan fungsi strptime() dan strftime() pada bahasa pemrograman python.

Semoga bermanfaat,

Salam

You may also like...

Berikan komentar