Cara Menangani Tanggal dan Waktu di Python dengan datetime
Menangani tanggal dan waktu merupakan tugas umum dalam pemrograman, dan Python menyediakan modul bawaan yang disebut datetime
untuk menangani tanggal dan waktu. Modul ini menyediakan kelas untuk memanipulasi tanggal, waktu, dan interval waktu, sehingga memudahkan untuk melakukan perhitungan tanggal, memformat tanggal, dan mengelola zona waktu. Dalam artikel ini, kita akan membahas cara menggunakan modul datetime
untuk menangani tanggal dan waktu secara efektif dalam Python.
Memulai dengan datetime
Modul datetime
menyediakan beberapa kelas, seperti datetime.date
, datetime.time
, datetime.datetime
, datetime.timedelta
, dan datetime.tzinfo
. Kelas-kelas ini memungkinkan kita untuk bekerja dengan tanggal, waktu, dan interval waktu.
Untuk mulai menggunakan modul datetime
, Anda perlu mengimpornya:
import datetime
Bekerja dengan Tanggal
Anda dapat membuat objek tanggal menggunakan kelas date
. Kelas ini memerlukan tiga parameter: tahun, bulan, dan hari.
from datetime import date
# Create a date object
my_date = date(2023, 9, 4)
print(my_date) # Output: 2023-09-04
Anda juga dapat mengakses komponen individual tanggal, seperti tahun, bulan, dan hari:
print(my_date.year) # Output: 2023
print(my_date.month) # Output: 9
print(my_date.day) # Output: 4
Bekerja dengan Waktu
Kelas time
memungkinkan Anda membuat objek waktu. Kelas ini memerlukan jam, menit, detik, dan mikrodetik (opsional).
from datetime import time
# Create a time object
my_time = time(14, 30, 45)
print(my_time) # Output: 14:30:45
Mirip dengan tanggal, Anda dapat mengakses komponen individual dari objek waktu:
print(my_time.hour) # Output: 14
print(my_time.minute) # Output: 30
print(my_time.second) # Output: 45
Menggabungkan Tanggal dan Waktu dengan datetime
Kelas datetime
menggabungkan tanggal dan waktu menjadi satu objek. Anda dapat membuat objek datetime
dengan memasukkan tahun, bulan, hari, jam, menit, detik, dan mikrodetik (opsional).
from datetime import datetime
# Create a datetime object
my_datetime = datetime(2023, 9, 4, 14, 30, 45)
print(my_datetime) # Output: 2023-09-04 14:30:45
Anda dapat mengakses komponen tanggal dan waktu dari objek datetime
:
print(my_datetime.date()) # Output: 2023-09-04
print(my_datetime.time()) # Output: 14:30:45
Mendapatkan Tanggal dan Waktu Saat Ini
Modul datetime
menyediakan metode praktis untuk mendapatkan tanggal dan waktu saat ini, atau keduanya:
# Current date
today = date.today()
print(today) # Output: (current date)
# Current date and time
now = datetime.now()
print(now) # Output: (current date and time)
Aritmatika Tanggal dengan timedelta
Kelas timedelta
mewakili durasi, yang merupakan selisih antara dua tanggal atau waktu. Kelas ini memungkinkan Anda melakukan perhitungan tanggal, seperti menambah atau mengurangi hari dari suatu tanggal.
from datetime import timedelta
# Create a timedelta object
delta = timedelta(days=7)
# Add 7 days to the current date
future_date = today + delta
print(future_date)
Anda juga dapat menghitung perbedaan antara dua tanggal:
# Calculate the difference between two dates
date1 = date(2023, 9, 4)
date2 = date(2023, 9, 11)
difference = date2 - date1
print(difference.days) # Output: 7
Memformat Tanggal dan Waktu
Metode strftime()
memungkinkan Anda memformat tanggal atau waktu menjadi string. Metode ini menggunakan kode format untuk menentukan format yang diinginkan:
# Format a date object
formatted_date = today.strftime('%B %d, %Y')
print(formatted_date) # Output: September 04, 2023
Kode format umum meliputi:
%Y
- Tahun (misalnya, 2023)%m
- Bulan sebagai angka desimal dengan nol (misalnya, 09)%d
- Tanggal dalam bulan sebagai angka desimal dengan nol (misalnya, 04)%H
- Jam (jam 24 jam) sebagai angka desimal dengan nol (misalnya, 14)%M
- Menit sebagai angka desimal dengan nol (misalnya, 30)%S
- Detik sebagai angka desimal dengan nol (misalnya, 45)
Menguraikan Tanggal dari String
Metode strptime()
memungkinkan Anda mengubah string menjadi objek datetime
, dengan format string tanggal:
# Parse a date from a string
date_str = '2023-09-04'
parsed_date = datetime.strptime(date_str, '%Y-%m-%d')
print(parsed_date)
Bekerja dengan Zona Waktu
Modul datetime
mendukung objek datetime
yang mengetahui zona waktu menggunakan pustaka pytz
. Untuk bekerja dengan zona waktu, Anda perlu menginstal pytz
:
pip install pytz
Kemudian, Anda dapat menetapkan zona waktu ke objek datetime
:
from datetime import datetime
import pytz
# Set timezone to UTC
utc_zone = pytz.utc
now_utc = datetime.now(utc_zone)
print(now_utc)
Kesimpulan
Modul datetime
dalam Python menyediakan berbagai alat canggih untuk menangani tanggal dan waktu, termasuk membuat, memformat, mengurai, dan melakukan aritmatika dengan objek tanggal dan waktu. Baik Anda perlu memanipulasi tanggal, bekerja dengan zona waktu, atau memformat tanggal dan waktu untuk ditampilkan, modul datetime
telah menyediakannya untuk Anda.