Python - Tarikh dan Masa
Halo di sana, penyihir Python masa depan! Hari ini, kita akan melakukan perjalanan yang menarik melalui kerajaan tarikh dan masa di Python. Sebagai guru komputer tetangga yang mesra anda, saya sangat gembira untuk membimbing anda melalui petualangan ini. Jadi, rakamkan rakaman wands anda (papan kekunci), dan mari kita melompat masuk!
Apa itu Interval Tick?
Sebelum kita mula untuk mengganggu tarikh dan masa, mari kita fahami konsep dasar: interval tick. Di dunia komputer, masa sering diukur dalam tick. Tetapi apakah tick itu?
Tick adalah seperti detak jantung komputer anda. Ia adalah unit masa terkecil yang klock komputer anda dapat mengukur. Di Python, kita mengukur tick sebagai jumlah detik yang telah lalu sejak 1 Januari 1970, pada 00:00:00 UTC. Titik waktu ini sering dirujuk sebagai "epoh."
Mari lihat bagaimana kita dapat mendapatkan nilai tick saat ini:
import time
ticks = time.time()
print("Nilai tick saat ini:", ticks)
Jika anda menjalankan kod ini, anda akan melihat jumlah besar yang dicetak keluar. Itu adalah jumlah detik yang telah lalu sejak epoh. Cantik, kan?
Apa itu TimeTuple?
Sekarang, mari kita bercakap tentang TimeTuple. Ia bukan gerakan penyayang baru (walaupun ia tampak seperti satu!), tetapi lebih kepada cara Python mewakili masa.
TimeTuple adalah tuple yang mengandungi 9 elemen yang mewakili aspek masa yang berbeza:
Indeks | Atribut | Nilai |
---|---|---|
0 | Tahun | (cth., 2023) |
1 | Bulan | 1-12 |
2 | Hari | 1-31 |
3 | Jam | 0-23 |
4 | Minit | 0-59 |
5 | Detik | 0-61 (60 dan 61 untuk detik khas) |
6 | Hari dalam minggu | 0-6 (0 adalah Isnin) |
7 | Hari dalam tahun | 1-366 |
8 | DST | -1, 0, 1 (Penanda Waktu Penyelamat Hari) |
Jangan khawatir jika ini kelihatan mengganggu. Kita akan menggunakan elemen ini selama pelajaran kita, dan anda akan menjadi biasa dengan mereka dalam masa yang singkat!
Mendapatkan Masa Saat Ini
Mari kita mula dengan sesuatu yang mudah: mendapatkan masa saat ini. Python membuat ini sangat mudah dengan modul time
:
import time
current_time = time.localtime()
print("Masa saat ini:", current_time)
Apabila anda menjalankan ini, anda akan melihat TimeTuple dicetak keluar. Setiap nombor berkoresponden dengan tabel yang kita lihat tadi. Misalnya, jika anda lihat 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 ia adalah 15 Jun 2023, pada 2:30 PM.
Mendapatkan Masa yang Diformat
Walaupun TimeTuples adalah berguna untuk komputer, ia tidak begitu mesra manusia. Mari format masa kita dalam cara yang lebih mudah untuk dibaca:
import time
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print("Masa yang diformat:", formatted_time)
Ini akan mencetak sesuatu seperti "2023-06-15 14:30:00". Lebih baik, kan? %Y
, %m
, %d
, dll adalah kod format yang memberitahu Python bagaimana untuk susun elemen masa. Ia seperti memberikan Python templat untuk bagaimana anda ingin masa anda untuk kelihatan.
Mendapatkan Kalender untuk Sebulan
Sekarang, mari kita naikkan level dan cetak seluruh kalender untuk sebulan. Kita akan menggunakan modul calendar
untuk ini:
import calendar
tahun = 2023
bulan = 6
print(calendar.month(tahun, bulan))
Ini akan mencetak kalender yang baik untuk Jun 2023. Ia seperti memiliki kalender meja kecil di atas program Python anda!
Modul time
Kita telah menggunakan modul time
sedikit, tetapi mari kita eksplorasi lebih jauh. Modul ini menyediakan beberapa fungsi yang berkaitan dengan masa. Berikut adalah beberapa yang berguna:
import time
print("Masa saat ini dalam detik sejak epoh:", time.time())
print("Masa tempatan saat ini:", time.ctime())
print("Tidur selama 2 saat...")
time.sleep(2)
print("Bangun!")
Fungsi sleep()
adalah sangat berguna apabila anda ingin program anda untuk berhenti sebentar. Ia seperti memberitahu kod anda untuk Ambil nap singkat!
Modul calendar
Kita telah lihat bagaimana untuk mencetak bulan, tetapi modul calendar
dapat melakukan banyak lagi:
import calendar
print("Adakah 2023 adalah tahun kabisat?", calendar.isleap(2023))
print("Berapa tahun kabisat antara 2000 dan 2050?", calendar.leapdays(2000, 2050))
print("Apakah hari dalam minggu untuk 2023-06-15?", calendar.weekday(2023, 6, 15))
Fungsi ini membantu anda bekerja dengan kalender dan tarikh dengan mudah. Tak perlu lagi untuk menghitung menggunakan jari untuk mengetahui tahun kabisat!
Modul datetime Python
Modul datetime
adalah seperti rakit penyelamat manipulasi masa di Python. Ia menggabungkan fungsi kedua-dua modul time
dan calendar
dan menambahkan lagi banyak fitur.
from datetime import datetime, date, time
# Tarikh dan masa saat ini
now = datetime.now()
print("Tarikh dan masa saat ini:", now)
# Membuat tarikh khusus
tanggal_lahir_saya = date(1990, 5, 15)
print("Tanggal lahir saya:", tanggal_lahir_saya)
# Membuat masa khusus
alarm = time(7, 30, 0)
print("Alarm ditetapkan untuk:", alarm)
Dengan datetime
, anda dapat membuat, manipulasi, dan memformat tarikh dan masa dengan mudah.
Objek date Python
Objek date
dari modul datetime
membolehkan anda bekerja dengan tarikh (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)
Ia seperti memiliki kalender pintar yang tahu hari apa dan dapat memberitahu anda semua tentang itu!
Objek time Python
Serupa, objek time
membolehkan anda bekerja dengan masa (jam, minit, detik, mikrodetik):
from datetime import time
lunch_time = time(12, 30, 0)
print("Waktu makan tengahari:", lunch_time)
print("Jam:", lunch_time.hour)
print("Minit:", lunch_time.minute)
print("Detik:", lunch_time.second)
Sekarang anda dapat menjadwalkan coding break anda dengan presisi!
Objek datetime Python
Objek datetime
menggabungkan date
dan time
, memberikan anda kawalan penuh atas kedua-duanya:
from datetime import datetime
now = datetime.now()
print("Tarikh dan masa 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("Minit saat ini:", now.minute)
print("Detik saat ini:", now.second)
Ia seperti memiliki jam super-puas yang tahu semua tentang momen saat ini!
Objek timedelta Python
Terakhir tetapi tidak ketinggalan, mari kita bercakap tentang timedelta
. Objek ini mewakili jangka masa waktu, dan ia sangat berguna untuk aritmatik tarikh:
from datetime import datetime, timedelta
now = datetime.now()
print("Tarikh dan masa saat ini:", now)
# Tambah 1 hari
_esok = now + timedelta(days=1)
print("Masa ini esok:", _esok)
# Kurangkan 1 minggu
minggu_lalu = now - timedelta(weeks=1)
print("Masa ini minggu lalu:", minggu_lalu)
Dengan timedelta
, anda dapat melakukan perjalanan masa di atas kod anda! Well, sort of. Anda dapat dengan mudah mengira tarikh masa depan dan masa lalu, yang sangat berguna untuk banyak aplikasi.
Dan itu adalah, penyihir Python muda! Kita telah melakukan perjalanan yang menarik melalui dunia tarikh dan masa di Python. Ingat, praktek membuat perfect, jadi jangan ragu untuk bereksperimen dengan konsep ini. Sebelum anda tahu, anda akan dapat memanipulasi masa seperti seorang lord coding masa!
Credits: Image by storyset