Python TanggalWaktu, WaktuDelta, Strftime (Format) dengan Contoh
Kelas datetime di Python dikategorikan ke dalam 5 kelas utama.
- date – Memanipulasi tanggal saja (Bulan, hari, tahun)
- waktu – Waktu tidak bergantung pada hari (Jam, menit, detik, mikrodetik)
- datetime – Kombinasi waktu dan tanggal (Bulan, hari, tahun, jam, detik, mikrodetik)
- timedelta— Durasi waktu yang digunakan untuk memanipulasi tanggal
- tzinfo— Kelas abstrak untuk menangani zona waktu
Cara Menggunakan Kelas Tanggal & DateTime
Langkah 1) Sebelum Anda menjalankan kode untuk format datetime di Python, penting bagi Anda untuk mengimpor Python modul tanggal waktu seperti yang ditunjukkan pada gambar di bawah.
Pernyataan import ini adalah bagian fungsionalitas yang telah ditentukan sebelumnya di Python perpustakaan yang memungkinkan Anda memanipulasi tanggal dan waktu, tanpa menulis kode apa pun.
Pertimbangkan hal-hal berikut sebelum menjalankan: Python kode format tanggal-waktu
from datetime import date
Baris ini menceritakan Python juru bahasa untuk mengimpor kelas tanggal dari modul datetime Python. Kami tidak menulis kode untuk fungsi tanggal ini, sayangnya kami hanya mengimpornya untuk digunakan
Langkah 2) Selanjutnya, kita membuat instance objek tanggal.
Langkah 3) Selanjutnya, kita mencetak tanggal dan menjalankan kodenya.
Outputnya seperti yang diharapkan.
Cetak Tanggal menggunakan date.today()
date.today
fungsi memiliki beberapa properti yang terkait dengannya. Kami dapat mencetak setiap hari/bulan/tahun dan banyak hal lainnya
Mari kita lihat contohnya
Nomor Hari Kerja Hari Ini
Fungsi date.today() juga memberi Anda nomor hari kerja. Berikut adalah Tabel Hari Kerja yang dimulai dengan Monday sebagai 0 dan Minggu sebagai 6
Hari | Nomor Hari Kerja |
---|---|
Monday | 0 |
Selasa | 1 |
Rabu | 2 |
Kamis | 3 |
Jumat | 4 |
Sabtu | 5 |
Minggu | 6 |
Nomor Hari Kerja berguna untuk array yang indeksnya bergantung pada Hari dalam seminggu.
Python Tanggal dan Waktu Saat Ini: sekarang() hari ini()
Langkah 1) Seperti Objek Tanggal, kita juga bisa menggunakan “OBJEK TANGGAL WAKTU” in Python. Python objek tanggal dan waktu memberikan tanggal beserta waktu masuk jam, menit, detik, dan milidetik.
Ketika kita mengeksekusi kode untuk datetime, ia memberikan output dengan tanggal dan waktu saat ini.
Langkah 2) Dengan “DATETIME OBJECT”, Anda juga dapat memanggil kelas waktu.
Misalkan kita ingin mencetak waktu saat ini saja tanpa tanggal.
t = datetime.time(datetime.now())
- Kami telah mengimpor kelas waktu. Kami akan menetapkannya nilai waktu saat ini menggunakan datetime.now()
- Kami menetapkan nilai waktu saat ini ke variabel t.
Dan ini akan memberiku waktu yang tepat. Jadi mari kita jalankan program ini.
Oke, jadi Anda bisa lihat di sini saya mendapatkan tanggal dan waktunya. Dan baris berikutnya, saya punya waktunya sendiri
Langkah 3) Kami akan menerapkan pengindeks hari kerja kami ke arrayList hari kerja kami untuk mengetahui hari apa hari ini
- Operator hari kerja (wd) diberi nomor dari (0-6) tergantung pada hari kerja saat ini. Di sini kami mendeklarasikan array daftar untuk hari (Sen, Sel, Rab…Min).
- Gunakan nilai indeks itu untuk mengetahui hari apa sekarang. Dalam kasus kita, ini adalah #2, dan ini mewakili hari Rabu, jadi pada outputnya akan dicetak “Yang merupakan hari Rabu.”
Berikut kode lengkap untuk mendapatkan tanggal dan waktu saat ini menggunakan datetime sekarang
from datetime import date from datetime import time from datetime import datetime def main(): ##DATETIME OBJECTS #Get today's date from datetime class today=datetime.now() #print (today) # Get the current time #t = datetime.time(datetime.now()) #print "The current time is", t #weekday returns 0 (monday) through 6 (sunday) wd=date.weekday(today) #Days start at 0 for monday days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"] print("Today is day number %d" % wd) print("which is a " + days[wd]) if __name__== "__main__": main()
Cara Memformat Output Tanggal dan Waktu dengan Strftime()
Sampai sekarang kita telah mempelajari cara menggunakan tanggalwaktu dan tanggal objek dalam Python. Kita akan melangkah lebih jauh dan mempelajari cara menggunakan fungsi pemformatan untuk memformat Waktu dan Tanggal.
Langkah 1) Pertama kita akan melihat langkah sederhana bagaimana memformat tahun. Lebih baik memahaminya dengan sebuah contoh.
- Kami menggunakan “fungsi strftime” untuk memformat.
- Fungsi ini menggunakan berbeda kode kontrol untuk memberikan keluaran.
- Setiap kode kontrol menyerupai parameter berbeda seperti tahun, bulan, hari kerja, dan tanggal [(%y/%Y – Tahun), (%a/%A- hari kerja), (%b/%B- bulan), (%d – hari dalam sebulan)] .
- Dalam kasus kami, memang demikian (“%Y”) yang menyerupai tahun, ia mencetak tahun penuh dengan abad (misalnya, 2018).
Langkah 2) Sekarang jika Anda mengganti (“%Y”) dengan huruf kecil, yaitu ( “%y) dan mengeksekusi kode, output hanya akan menampilkan (18) dan bukan (2018). Abad dalam setahun tidak akan ditampilkan seperti yang ditunjukkan pada gambar di bawah
Langkah 3) Fungsi strf dapat mendeklarasikan tanggal, hari, bulan dan tahun secara terpisah. Juga dengan perubahan kecil pada kode kontrol di fungsi strftime Anda dapat memformat gaya teks.
Di dalam fungsi strftime jika Anda mengganti (%a) dengan huruf kapital A, yaitu (%A) outputnya akan dicetak sebagai “Firday” dan bukan hanya singkatan “Fri”.
Langkah 4) Dengan bantuan fungsi "Strftime" kita juga dapat mengambil waktu, tanggal, atau keduanya sistem lokal.
- %C- menunjukkan tanggal dan waktu setempat
- %x- menunjukkan tanggal lokal
- %X- menunjukkan waktu setempat
Pada outputnya, Anda dapat melihat hasilnya seperti yang diharapkan
Langkah 5) Fungsi “strftime” memungkinkan Anda memanggil waktu dalam format apa pun 24 jam atau 12 jam.
Hanya dengan mendefinisikan kode kontrol seperti %I/H untuk jam, %M untuk menit, %S untuk detik, seseorang dapat memanggil waktu untuk format yang berbeda-beda.
12 jam waktu dideklarasikan [print now.strftime(“%I:%M:%S %p) ]
24 jam waktu dideklarasikan [cetak sekarang.strftime(“%H:%M”)]
Berikut adalah kode lengkap untuk mengubah datetime menjadi objek String.
# #Example file for formatting time and date output # from datetime import datetime def main(): #Times and dates can be formatted using a set of predefined string #Control codes now= datetime.now() #get the current date and time #%c - local date and time, %x-local's date, %X- local's time print(now.strftime("%c")) print(now.strftime("%x")) print(now.strftime("%X")) ##### Time Formatting #### #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM print(now.strftime("%I:%M:%S %p")) # 12-Hour:Minute:Second:AM print(now.strftime("%H:%M")) # 24-Hour:Minute if __name__== "__main__": main()
Apa itu Timedelta di Python?
Timedelta di Python adalah objek yang mewakili durasi. Objek ini terutama digunakan untuk menghitung durasi antara dua tanggal dan waktu. Objek ini juga digunakan untuk mengambil objek dengan beberapa delta tanggal dan waktu. Objek timedelta mendukung operasi matematika seperti penjumlahan, pengurangan, perkalian, pembagian, dll.
Cara menggunakan Objek Timedelta
Dengan Python objek timedelta, Anda dapat memperkirakan waktu untuk masa depan dan masa lalu. Dengan kata lain, ini adalah rentang waktu untuk memprediksi hari, tanggal, atau waktu tertentu.
Ingat fungsi ini bukan untuk mencetak waktu atau tanggal, tapi sesuatu untuk MENGHITUNG masa depan atau masa lalu. Mari kita lihat sebuah Python contoh timedelta untuk memahaminya dengan lebih baik.
Langkah 1) Untuk menjalankan Objek Timedelta, Anda perlu mendeklarasikan pernyataan impor terlebih dahulu dan kemudian mengeksekusi kodenya
- Tulis pernyataan impor untuk timedelta
- Sekarang tulis kode untuk mencetak objek dari delta waktu seperti yang ditunjukkan pada gambar layar
- Jalankan kodenya. Timedelta mewakili rentang 365 hari, 8 jam dan 15 menit dan mencetak hal yang sama
Membingungkan? Langkah selanjutnya akan membantu-
Langkah 2) Mari kita lihat tanggal dan waktu hari ini untuk memeriksa apakah pernyataan impor kita berfungsi dengan baik. Saat kode dieksekusi, ia akan mencetak tanggal hari ini yang berarti pernyataan import kita berfungsi dengan baik
Langkah 3) Kita akan melihat bagaimana kita dapat memperoleh tanggal setahun dari sekarang melalui objek delta. Ketika kita menjalankan kode tersebut, hasilnya akan seperti yang diharapkan.
Langkah 4) Contoh lain bagaimana delta waktu dapat digunakan untuk menghitung tanggal masa depan dari tanggal dan waktu saat ini
Langkah 5) Mari kita lihat contoh yang lebih kompleks. Saya ingin menentukan berapa hari setelah Tahun Baru. Berikut ini adalah cara kita melakukannya
- Menggunakan hari ini= tanggal.hari ini() kita akan mendapatkan tanggal hari ini
- Kita tahu tahun baru selalu jatuh pada tanggal 1-Jan, namun tahunnya bisa saja berbeda. Menggunakan nyd= date(today.year,1,1) kita menyimpan tahun baru dalam variabel nyd
- if nyd < today: membandingkan apakah tanggal saat ini lebih besar dari tahun baru. Jika ya, maka akan masuk ke while loop
- ((today-nyd).days) memberikan perbedaan antara tanggal saat ini dan tahun baru dalam DAYS
Outputnya menunjukkan bahwa “Hari Tahun Baru sudah berlalu 11 hari yang lalu.”
Berikut adalah kode kerja lengkapnya
# # Example file for working with timedelta objects # from datetime import date from datetime import time from datetime import datetime from datetime import timedelta # construct a basic timedelta and print it print (timedelta(days=365, hours=8, minutes=15)) # print today's date print ("today is: " + str(datetime.now())) # print today's date one year from now print ("one year from now it will be:" + str(datetime.now() + timedelta(days=365))) # create a timedelta that uses more than one argument # print (in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4))) # How many days until New Year's Day? today = date.today() # get todays date nyd = date(today.year, 1, 1) # get New Year Day for the same year # use date comparison to see if New Year Day has already gone for this year # if it has, use the replace() function to get the date for next year if nyd < today: print ("New Year day is already went by %d days ago" % ((today - nyd).days))
Python 2 Contoh
from datetime import date from datetime import time from datetime import datetime def main(): ##DATETIME OBJECTS #Get today's date from datetime class today=datetime.now() #print today # Get the current time #t = datetime.time(datetime.now()) #print "The current time is", t #weekday returns 0 (monday) through 6 (sunday) wd = date.weekday(today) #Days start at 0 for monday days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"] print "Today is day number %d" % wd print "which is a " + days[wd] if __name__== "__main__": main()
# #Example file for formatting time and date output # from datetime import datetime def main(): #Times and dates can be formatted using a set of predefined string #Control codes now= datetime.now() #get the current date and time #%c - local date and time, %x-local's date, %X- local's time print now.strftime("%c") print now.strftime("%x") print now.strftime("%X") ##### Time Formatting #### #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM print now.strftime("%I:%M:%S %p") # 12-Hour:Minute:Second:AM print now.strftime("%H:%M") # 24-Hour:Minute if __name__== "__main__": main()
# # Example file for working with timedelta objects # from datetime import date from datetime import time from datetime import datetime from datetime import timedelta # construct a basic timedelta and print it print timedelta(days=365, hours=8, minutes=15) # print today's date print "today is: " + str(datetime.now()) # print today's date one year from now print "one year from now it will be:" + str(datetime.now() + timedelta(days=365)) # create a timedelta that uses more than one argument # print "in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4)) # How many days until New Year's Day? today = date.today() # get todays date nyd = date(today.year, 1, 1) # get New Year Day for the same year # use date comparison to see if New Year Day has already gone for this year # if it has, use the replace() function to get the date for next year if nyd < today: print "New Year day is already went by %d days ago" % ((today - nyd).days)
Ringkasan
Untuk memanipulasi tanggal dan waktu dengan cara sederhana dan kompleks, modul datetime menyediakan kelas atau kategori yang berbeda seperti
- date – Memanipulasi tanggal saja (Bulan, hari, tahun)
- waktu – Waktu tidak bergantung pada hari (Jam, menit, detik, mikrodetik)
- datetime – Kombinasi waktu dan tanggal (Bulan, hari, tahun, jam, detik, mikrodetik)
- timedelta— Durasi waktu yang digunakan untuk memanipulasi tanggal
- tzinfo— Kelas abstrak untuk menangani zona waktu
Menggunakan objek datetime
- Mengimpor objek datetime sebelum mengeksekusi kode adalah wajib
- Menggunakan fungsi date.today untuk mencetak setiap tanggal/bulan/tahun serta mengindeks hari
- Menggunakan objek date.time untuk mendapatkan waktu dalam jam, menit, detik, dan milidetik
Memformat Time-Out dengan "fungsi waktu str f"
- Gunakan "fungsi waktu str f" untuk mengubah format tahun
- Cetak hari, tanggal, bulan dan tahun secara terpisah,
- Sebutkan waktu untuk format apa pun 12 jam atau 24 jam
Objek Timedelta
- Dengan objek timedelta, Anda dapat memperkirakan waktu untuk masa depan dan masa lalu
- Hitung total hari yang tersisa untuk hari istimewa (ulang tahun) dari waktu saat ini
- Hitung total hari yang berlalu untuk hari istimewa (ulang tahun) dari waktu saat ini