Python - Tanggal dan Waktu

Halo para jago Python masa depan! Hari ini, kita akan melakukan perjalanan yang menarik melalui wilayah tanggal dan waktu di Python. Sebagai guru komputer ramah lingkungan Anda, saya sangat senang untuk menemani Anda dalam petualangan ini. Jadi, ambil tongkat penyihir virtual Anda (papan ketik), dan mari kita melompatlah!

Python - Date & Time

Apa itu Interval Tik?

Sebelum kita memulai untuk bermain dengan tanggal dan waktu, mari kita mengerti konsep dasar: interval tik. Di dunia komputer, waktu sering diukur dalam tick. tapi apa itu tick?

Tick adalah seperti denyut jantung komputer Anda. Ini adalah unit waktu terkecil yang dapat diukur oleh jam komputer Anda. Di Python, kita mengukur tick sebagai jumlah detik yang telah berlalu sejak 1 Januari 1970, pukul 00:00:00 UTC. Titik waktu ini sering disebut sebagai "epoh."

Mari kita lihat bagaimana kita dapat mendapatkan nilai tik saat ini:

import time

ticks = time.time()
print("Nilai tik saat ini:", ticks)

Jika Anda menjalankan kode ini, Anda akan melihat angka besar yang dicetak. Itu adalah jumlah detik yang telah berlalu sejak epoh. cukup keren, bukan?

Apa itu TimeTuple?

Sekarang, mari kita berbicara tentang TimeTuple. Ini bukan gerakan dansa baru (walaupun itu terdengar seperti salah satunya!), tetapi lebih seperti cara Python merepresentasikan waktu.

TimeTuple adalah tuple yang berisi 9 elemen yang mewakili aspek waktu yang berbeda:

Indeks Atribut Nilai
0 Tahun (mis., 2023)
1 Bulan 1-12
2 Hari 1-31
3 Jam 0-23
4 Menit 0-59
5 Detik 0-61 (60 dan 61 untuk detik kenaikan)
6 Hari dalam minggu 0-6 (0 adalah Senin)
7 Hari dalam tahun 1-366
8 DST -1, 0, 1 (Daylight Savings Time flag)

Jangan khawatir jika ini tampak menakjubkan. Kita akan menggunakan elemen ini selama pelajaran kita, dan Anda akan menjadi familiar dengan mereka dalam waktu singkat!

Mendapatkan Waktu Saat Ini

Mari kita mulai dengan sesuatu yang sederhana: mendapatkan waktu saat ini. Python membuat ini sangat mudah dengan modul time:

import time

current_time = time.localtime()
print("Waktu saat ini:", current_time)

Ketika Anda menjalankan ini, Anda akan melihat TimeTuple yang dicetak. Setiap angka mengacu pada tabel yang baru saja kita lihat. Misalnya, jika Anda melihat time.struct_time(tm_year=2023, tm_mon=6, tm_mday=15, tm_hour=14, tm_min=30, tm_sec=0, tm_wday=3, tm_yday=166, tm_isdst=0), itu berarti itu adalah 15 Juni 2023, pukul 2:30 PM.

Mendapatkan Waktu Yang Diformat

Meskipun TimeTuples sangat berguna untuk komputer, mereka tidak begitu ramah bagi manusia. Mari format waktu kita dalam cara yang lebih mudah dibaca:

import time

formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print("Waktu yang diformat:", formatted_time)

Ini akan mencetak sesuatu seperti "2023-06-15 14:30:00". Lebih baik, bukan? %Y, %m, %d, dll adalah kode format yang memberitahu Python cara mengatur waktu elemen. Ini seperti memberikan Python template untuk cara Anda ingin waktu Anda terlihat.

Mendapatkan Kalender untuk Sebuah Bulan

Sekarang, mari naikkan level kita dan cetak seluruh kalender untuk sebuah bulan. Kita akan menggunakan modul calendar untuk ini:

import calendar

year = 2023
month = 6

print(calendar.month(year, month))

Ini akan mencetak kalender yang sudah diformat dengan baik untuk Juni 2023. Itu seperti memiliki kalender meja kecil langsung di program Python Anda!

Modul time

Kita sudah menggunakan modul time beberapa kali, tapi mari kita eksplorasi lebih jauh. Modul ini menyediakan berbagai fungsi terkait waktu. Berikut adalah beberapa yang berguna:

import time

print("Waktu saat ini dalam detik sejak epoh:", time.time())
print("Waktu lokal saat ini:", time.ctime())
print("Tidur selama 2 detik...")
time.sleep(2)
print("Bangun!")

Fungsi sleep() sangat berguna ketika Anda ingin program Anda untuk jeda sebentar. Ini seperti memberitahu kode Anda untuk istirahat cepat!

Modul calendar

Kita telah melihat cara mencetak bulan, tapi modul calendar dapat melakukan banyak hal lagi:

import calendar

print("Apakah 2023 adalah tahun kabisat?", calendar.isleap(2023))
print("Berapa tahun kabisat antara 2000 dan 2050?", calendar.leapdays(2000, 2050))
print("Hari apa dalam minggu adalah 2023-06-15?", calendar.weekday(2023, 6, 15))

Fungsi ini membantu Anda bekerja dengan kalender dan tanggal dengan mudah. Tidak perlu lagi menghitung menggunakan jari Anda untuk menentukan tahun kabisat!

Modul datetime Python

Modul datetime adalah seperti pisaunya Swiss Army untuk manipulasi waktu di Python. Ini menggabungkan fungsi dari kedua modul time dan calendar dan menambahkan fitur yang lain.

from datetime import datetime, date, time

# Tanggal dan waktu saat ini
now = datetime.now()
print("Tanggal dan waktu saat ini:", now)

# Membuat tanggal tertentu
tanggal_lahir_saya = date(1990, 5, 15)
print("Tanggal lahir saya:", tanggal_lahir_saya)

# Membuat waktu tertentu
alarm = time(7, 30, 0)
print("Alarm diatur untuk:", alarm)

Dengan datetime, Anda dapat membuat, memanipulasi, dan mengformat tanggal dan waktu dengan mudah.

Objek date Python

Objek date dari modul datetime memungkinkan Anda untuk bekerja dengan tanggal (tahun, bulan, dan hari):

from datetime import date

today = date.today()
print("Tanggal hari ini:", today)
print("Tahun:", today.year)
print("Bulan:", today.month)
print("Hari:", today.day)

Ini seperti memiliki kalender pintar yang tahu hari apa itu dan dapat memberitahu Anda semua tentang itu!

Objek time Python

Demikian juga, objek time memungkinkan Anda untuk bekerja dengan waktu (jam, menit, detik, mikrodetik):

from datetime import time

lunch_time = time(12, 30, 0)
print("Waktu makan siang:", lunch_time)
print("Jam:", lunch_time.hour)
print("Menit:", lunch_time.minute)
print("Detik:", lunch_time.second)

Sekarang Anda dapat menjadwalkan istirahat coding Anda dengan presisi!

Objek datetime Python

Objek datetime menggabungkan date dan time, memberikan Anda kontrol penuh atas kedua:

from datetime import datetime

now = datetime.now()
print("Tanggal dan waktu saat ini:", now)
print("Tahun saat ini:", now.year)
print("Bulan saat ini:", now.month)
print("Hari saat ini:", now.day)
print("Jam saat ini:", now.hour)
print("Menit saat ini:", now.minute)
print("Detik saat ini:", now.second)

Ini seperti memiliki jam super-puasa yang tahu semua tentang momen saat ini!

Objek timedelta Python

Terakhir tapi tidak terkecil, mari kita berbicara tentang timedelta. Objek ini mewakili durasi waktu, dan itu sangat berguna untuk aritmatika tanggal:

from datetime import datetime, timedelta

now = datetime.now()
print("Tanggal dan waktu saat ini:", now)

# Tambahkan 1 hari
Besok = now + timedelta(days=1)
print("Waktu besok:", Besok)

# Kurangkan 1 minggu
Minggu_lalu = now - timedelta(weeks=1)
print("Waktu minggu lalu:", Minggu_lalu)

Dengan timedelta, Anda dapat melakukan perjalanan waktu di kode Anda! Well, jenisnya. Anda dapat dengan mudah menghitung tanggal masa depan dan masa lalu, yang sangat praktis untuk banyak aplikasi.

Dan itu adalah, para jago Python masa depan! Kita telah melakukan perjalanan yang menarik melalui dunia tanggal dan waktu di Python. Ingat, praktek membuat perfect, jadi jangan segan untuk eksperimen dengan konsep ini. Sebelum Anda sadar, Anda akan dapat memanipulasi waktu seperti seorang lord waktu coding yang sebenarnya!

Credits: Image by storyset