Python: Mengambil Waktu Saat Ini dan Data Zona Waktu dengan Mudah
Python: Mengambil Waktu Saat Ini dan Data Zona Waktu dengan Mudah
Temukan cara andal untuk mendapatkan waktu lokal saat ini dan bekerja dengan beberapa zona waktu di Python, menggunakan modul standar datetime dan time, serta pustaka populer pytz.
Python menawarkan beberapa metode sederhana untuk mengakses waktu saat ini. Berikut adalah contoh praktis yang mengilustrasikan setiap pendekatan, beserta penjelasan yang jelas tentang apa yang dilakukan oleh setiap bagian kode.
Contoh 1: Waktu Saat Ini Menggunakan Modul datetime
from datetime import datetime now = datetime.now() current_time = now.strftime("%H:%M:%S") print("Current Time =", current_time)
Output
Current Time = 07:41:19
Dalam contoh ini, metode datetime.now() mengembalikan objek datetime yang berisi tanggal dan waktu saat ini. Fungsi strftime() kemudian memformat objek tersebut menjadi string waktu yang dapat dibaca manusia.
Untuk mendapatkan objek time yang hanya mewakili bagian waktu, gunakan metode time() pada instance datetime yang sama:
from datetime import datetime now = datetime.now().time() # objek time print("now =", now) print("type(now) =", type(now))
Output
now = 07:43:37.457423 type(now) = <class 'datetime.time'>
Contoh 2: Waktu Saat Ini Menggunakan Modul time
Untuk aplikasi yang hanya memerlukan waktu lokal saat ini, modul bawaan time adalah alternatif yang ringan:
import time t = time.localtime() current_time = time.strftime("%H:%M:%S", t) print(current_time)
Output
07:46:58
Contoh 3: Waktu Saat Ini di Zona Waktu Tertentu
Saat aplikasi Anda harus merujuk waktu dari beberapa wilayah, pustaka pytz menyediakan dukungan zona waktu yang kuat. Contoh berikut mengambil waktu saat ini di New York dan London:
from datetime import datetime import pytz # New York ny_tz = pytz.timezone('America/New_York') ny_time = datetime.now(ny_tz) print("NY time:", ny_time.strftime("%H:%M:%S")) # London london_tz = pytz.timezone('Europe/London') london_time = datetime.now(london_tz) print("London time:", london_time.strftime("%H:%M:%S"))
Output
NY time: 03:45:16 London time: 08:45:16
Cuplikan ini menunjukkan cara menambahkan zona waktu ke objek datetime dan kemudian memformatnya untuk ditampilkan. Untuk Python 3.9 dan versi yang lebih baru, modul bawaan zoneinfo dapat menggantikan pytz untuk banyak kasus penggunaan.