Cara menggunakan FORMAT-DATETIME pada Python

Tanggal dalam Python bukanlah tipe data, untuk itu kita dapat mengimpor modul bernama datetime untuk menggunakan tanggal sebagai objek tanggal.

Contoh:
Impor modul datetime dan tampilkan tanggal sekarang

import datetime

x = datetime.datetime.now()

print(x)

Output Tanggal

Saat kita mengeksekusi kode dari contoh di atas hasilnya adalah:

Tanggal dan waktu saat ini.

Tanggal berisi tahun, bulan, hari, jam, menit, detik, dan mikrodetik.

Modul datetime memiliki banyak metode untuk mengembalikan informasi tentang objek tanggal.

Berikut adalah beberapa contoh, kita akan mempelajarinya lebih lanjut nanti di bab ini.

Contoh:
Kembalikan tahun dan nama hari kerja

import datetime

x = datetime.datetime.now()

print(x.year)
print(x.strftime("%A"))

Membuat Objek Tanggal

Untuk membuat tanggal, kita bisa menggunakan kelas datetime() (konstruktor) dari modul datetime.

Kelas datetime() membutuhkan tiga parameter untuk membuat tanggal: tahun, bulan, hari.

Contoh:
Buat objek tanggal

import datetime

x = datetime.datetime(2020, 5, 17)

print(x)

Kelas datetime() juga mengambil parameter untuk waktu dan zona waktu (jam, menit, detik, mikrodetik, zona t), tetapi opsional, dan memiliki nilai default 0, (Tidak ada untuk zona waktu).

Metode strftime ()

Objek datetime memiliki metode untuk memformat objek tanggal menjadi string yang dapat dibaca.

Metode ini disebut strftime(), dan menggunakan satu parameter, format, untuk menentukan format dari string yang dikembalikan.

Contoh:
Tampilkan nama bulan

import datetime

x = datetime.datetime(2018, 6, 1)

print(x.strftime("%B"))

Referensi dari semua kode format legal:

DirektifDeskripsiContoh
%a Hari kerja, versi pendek Wed
%A Hari kerja, versi lengkap Wednesday
%w Hari kerja sebagai angka 0-6, 0 adalah hari Minggu 3
%d Hari dalam bulan 01-31 31
%b Nama bulan, versi pendek Dec
%B Nama bulan, versi lengkap December
%m Bulan sebagai angka 01-12 12
%y Tahun, versi pendek, tanpa abad 18
%Y Tahun, versi lengkap 2018
%H Jam 00-23 17
%I Jam 00-12 05
%p AM/PM PM
%M Menit 00-59 41
%S Detik 00-59 08
%f Mikrodetik 000000-999999 548513
%z Pengimbangan UTC +0100
%Z Zona waktu CST
%j Angka hari setahun 001-366 365
%U Jumlah minggu setahun, Minggu sebagai hari pertama dalam seminggu, 00-53 52
%W Jumlah minggu setahun, Senin sebagai hari pertama dalam seminggu, 00-53 52
%c Versi lokal tanggal dan waktu Mon Dec 31 17:41:00 2018
%x Tanggal versi lokal 12/31/18
%X Versi waktu lokal 17:41:00
%% Karakter % %

Cara menggunakan FORMAT-DATETIME pada Python

1,167 Views

Bila kalian sedang bekerja dengan basis data yang melibatkan tanggal, maka akan banyak sekali format tanggal yang beredar seperti berikut

  1. 11-Feb-13
  2. 4/30/13
  3. 4/30/2013
  4. 04/30/2013
  5. 04/02/2013

Atau format indonesia yaitu

  1. 31/03/2020
  2. 1/3/2018

Cara menggunakan FORMAT-DATETIME pada Python

Bila kita hanya menggunakan data diatas sebagai format string saja, maka akan sangat sudah melakukan query data, misalkan saja menghitung jumlah hari pada rentang waktu tertentu

  1. Berapa jumlah hari dari 1 januari 2020 sampai dengan 9 juni 2020?
  2. getMonth(), getDay(), getYear() pada suatu format tanggal

Mengubah string menjadi date time – timestamp

Untuk mendapatkan sebuah operasi diatas, maka format string harus diubah dulu menjadi format date time. Misalkan saja menggunakan format data berikut

  1. 2020-06-09 maka format yaitu %Y-%m-%d
  2. 01-Jun-20 maka format yaitu %d-%b-%y

Kalian harus belajar mengenai regex, lebih lengkapnya bisa melihat tabel berikut

Cara menggunakan FORMAT-DATETIME pada Python
Cara menggunakan FORMAT-DATETIME pada Python
Cara menggunakan FORMAT-DATETIME pada Python

Contoh penggunaan

Kalian bisa coba kode berikut yang menggunakan format yang berbeda dengan input berupa string yaitu untuk menghitung jumlah hari, berapa jumlah hari antar 2020-06-09 sampai dengan 01-Juni-20 (sengaja dibuat format yang berbeda agar mudah buat kalian pelajari)

from datetime import datetime

inputdate='2020-06-09'
NOW = datetime.strptime(inputdate, "%Y-%m-%d")


tanggal = '01-Jun-20'
transaksi = datetime.strptime(tanggal,'%d-%b-%y')

hari = (NOW-transaksi).days #hitung hari
print(hari)

hasil

8

Bagaimana dengan Data Frame Pandas?

Seleksi Tanggal

Contoh lainnya yaitu untuk seleksi tanggal seperti menggunakan operator >=; <= dan yang lainnya menjadi lebih mudah. Apalagi kalau bekerja dengan Data Frame cukup menggunakan perintah pd.to_datetime(tanggal, format=’%Y-%m-%d’)

from datetime import datetime
import pandas as pd

a = ['2020-06-01','2020-06-02','2020-06-03','2020-06-04']
b = pd.DataFrame({'tanggal':a}) #ubah menjadi dataframe
#akan diubah menjadi format tanggal
b['tanggal'] = pd.to_datetime(b['tanggal'], format='%Y-%m-%d')
#kita akan coba untuk seleksi data 
start_date = datetime.strptime('2020-06-03', '%Y-%m-%d')
#kita hanya ingin seleksi diatas tanggal 3
mask = (b['tanggal']>=start_date)
c = b[mask]
print(b)
print(c)

hasil

     tanggal
0 2020-06-01
1 2020-06-02
2 2020-06-03
3 2020-06-04
     tanggal
2 2020-06-03
3 2020-06-04

Bila kalian cek b['tanggal'][1]  maka akan menghasilkan type data TimeStamp  Timestamp('2020-06-02 00:00:00')sehingga kita bisa mendapatkan informasi seperti day, month, dan year

print(b['tanggal'][1]) #menampilkan isi seluruh tanggal
b['tanggal'][1].day #hanya tampilkan tanggal

hasilnya

2020-06-02 00:00:00
2

Bagaimana menurut kalian? Sangat mudah bukan??