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