Menguasai Modul time Python: Fungsi, Structs, dan Contoh Praktis
Modul time Python
Jelajahi modul time standar di Python, pelajari fungsi intinya, dan lihat contoh yang jelas yang menunjukkan penggunaan dalam dunia nyata.
Modul time Python menyediakan alat untuk bekerja dengan stempel waktu, penjadwalan, dan pengukuran waktu yang berlalu. Sebelum menggunakan fungsi apa pun, impor modul:
import time
time.time()
Fungsi time() mengembalikan waktu saat ini dalam detik sejak Unix epoch (00:00:00 UTC pada 1 Januari 1970). Pada sistem seperti Unix, nilai epoch ini tetap; pada Windows, nilai ini berasal dari titik yang sama.
import time seconds = time.time() print("Seconds since epoch =", seconds)
time.ctime()
Mengonversi stempel waktu POSIX (detik sejak epoch) menjadi string yang dapat dibaca dalam zona waktu lokal.
import time seconds = 1545925769.9618232 local_time = time.ctime(seconds) print("Local time:", local_time)
Output biasanya:
Local time: Thu Dec 27 15:49:29 2018
time.sleep()
Menunda eksekusi thread saat ini untuk jumlah detik yang ditentukan.
import time print("This is printed immediately.") time.sleep(2.4) print("This is printed after 2.4 seconds.")
Untuk detail lebih lanjut, lihat dokumentasi Python sleep().
Kelas time.struct_time
Fungsi seperti gmtime() dan asctime() mengembalikan atau menerima objek time.struct_time, sebuah 9-tuple yang mewakili waktu kalender.
time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=6, tm_min=35, tm_sec=17, tm_wday=3, tm_yday=361, tm_isdst=0)
| Index | Attribute | Values |
| 0 | tm_year | 0000 … 9999 |
| 1 | tm_mon | 1 … 12 |
| 2 | tm_mday | 1 … 31 |
| 3 | tm_hour | 0 … 23 |
| 4 | tm_min | 0 … 59 |
| 5 | tm_sec | 0 … 61 |
| 6 | tm_wday | 0 (Senin) … 6 (Minggu) |
| 7 | tm_yday | 1 … 366 |
| 8 | tm_isdst | 0, 1 atau -1 |
Anda dapat mengakses elemen berdasarkan indeks atau nama atribut.
time.localtime()
Mengonversi stempel waktu POSIX menjadi struct_time yang diekspresikan dalam zona waktu lokal. Jika diabaikan, waktu saat ini digunakan.
import time result = time.localtime(1545925769) print("result:", result) print("\nyear:", result.tm_year) print("tm_hour:", result.tm_hour)
Output biasanya:
result: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=49, tm_sec=29, tm_wday=3, tm_yday=361, tm_isdst=0) year: 2018 tm_hour: 15
time.gmtime()
Sama seperti localtime() tetapi mengembalikan waktu UTC (GMT). Argumen yang diabaikan bernilai default epoch saat ini.
import time result = time.gmtime(1545925769) print("result:", result) print("\nyear:", result.tm_year) print("tm_hour:", result.tm_hour)
Output biasanya:
result: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=28, tm_hour=8, tm_min=44, tm_sec=4, tm_wday=4, tm_yday=362, tm_isdst=0) year: 2018 tm_hour: 8
time.mktime()
Mengonversi struct_time lokal (atau 9-tuple-nya) kembali menjadi stempel waktu POSIX. Ini secara efektif merupakan invers dari localtime().
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) local_time = time.mktime(t) print("Local time:", local_time)
Contoh yang menunjukkan perjalanan pulang-pergi:
import time seconds = 1545925769 t = time.localtime(seconds) print("t1:", t) s = time.mktime(t) print("\ns:", s)
Output biasanya:
t1: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=49, tm_sec=29, tm_wday=3, tm_yday=361, tm_isdst=0) s: 1545925769.0
time.asctime()
Memformat struct_time (atau tuple) menjadi string yang dapat dibaca manusia.
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) result = time.asctime(t) print("Result:", result)
Output biasanya:
Result: Fri Dec 28 08:44:04 2018
time.strftime()
Memformat struct_time menjadi string kustom berdasarkan kode format.
import time named_tuple = time.localtime() time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple) print(time_string)
Output biasanya:
12/28/2018, 09:47:41
Kode format umum meliputi:
%Y – tahun lengkap (misalnya, 2018) %m – bulan 01–12 %d – hari 01–31 %H – jam 00–23 %M – menit 00–59 %S – detik 00–61 (detik kabisat)
Untuk lebih banyak kode format, lihat dokumentasi time.strftime().
time.strptime()
Mengurai string sesuai dengan format yang ditentukan dan mengembalikan struct_time.
import time time_string = "21 June, 2018" result = time.strptime(time_string, "%d %B, %Y") print(result)
Output biasanya:
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=21, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=172, tm_isdst=-1)