Python DateTime, TimeDelta, Strftime(Format) dengan Contoh
Dengan Python, tanggal, waktu, dan waktu kelas menyediakan sejumlah fungsi untuk menangani tanggal, waktu dan interval waktu. Tanggal dan waktu dalam Python adalah objeknya, jadi ketika Anda memanipulasinya, Anda sebenarnya memanipulasi objek dan bukan string atau cap waktu. Setiap kali Anda memanipulasi tanggal atau waktu, Anda perlu mengimpor fungsi datetime.
Kelas datetime dalam Python dikategorikan ke dalam 5 kelas utama.
tanggal – Memanipulasi tanggal saja ( Bulan, hari, tahun)
waktu – Waktu yang 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
Dalam tutorial ini, kita akan belajar-
Cara Menggunakan Kelas Tanggal &TanggalWaktu
Cetak Tanggal menggunakan date.today()
Tanggal dan Waktu Saat Ini Python:now() hari ini()
Cara Memformat Output Tanggal dan Waktu dengan Strftime()
Cara menggunakan Objek Timedelta
Cara Menggunakan Kelas Tanggal &TanggalWaktu
Langkah 1 ) Sebelum Anda menjalankan kode untuk format datetime dengan Python, penting bagi Anda untuk mengimpor modul tanggal waktu Python seperti yang ditunjukkan pada gambar di bawah.
Pernyataan impor ini adalah bagian fungsionalitas yang telah ditentukan sebelumnya di pustaka Python yang memungkinkan Anda memanipulasi tanggal dan waktu, tanpa menulis kode apa pun.
Pertimbangkan poin berikut sebelum mengeksekusi kode format tanggal waktu Python
from datetime import date
Baris ini memberitahu interpreter Python untuk mengimpor kelas tanggal dari modul datetime dengan Python. Kami tidak menulis kode untuk fungsi tanggal ini, sayangnya hanya mengimpornya untuk penggunaan kami
Langkah 2 ) Selanjutnya, kita membuat instance dari 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 Senin sebagai 0 dan Minggu sebagai 6
Hari
Nomor Hari Kerja
Senin
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.
Tanggal dan Waktu Saat Ini Python:now() hari ini()
Langkah 1) Seperti Objek Tanggal, kami juga dapat menggunakan “OBJEK WAKTU TANGGAL” di Python. Objek tanggal dan waktu Python memberikan tanggal dan waktu dalam jam, menit, detik, dan milidetik.
Ketika kita mengeksekusi kode untuk datetime, itu memberikan output dengan tanggal dan waktu saat ini.
Langkah 2) Dengan “DATETIME OBJECT”, Anda juga dapat memanggil kelas waktu.
Misalkan kita ingin mencetak waktu sekarang saja tanpa tanggal.
t = datetime.time(datetime.now())
Kami telah mengimpor kelas waktu. Kami akan menetapkan nilai waktu saat ini menggunakan datetime.now()
Kami menetapkan nilai waktu saat ini ke variabel t.
Dan ini akan memberi saya waktu. Jadi mari kita jalankan program ini.
Oke, jadi Anda dapat melihat bahwa di sini saya mendapatkan tanggal dan waktu. Dan kemudian baris berikutnya, saya punya waktu 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) nomor tergantung pada hari kerja saat ini. Di sini kami mendeklarasikan susunan daftar untuk hari (Sen, Sel, Rab…Minggu).
Gunakan nilai indeks itu untuk mengetahui hari apa. Dalam kasus kami, ini adalah #2, dan itu mewakili hari Rabu, jadi di outputnya akan dicetak “Yang mana hari Rabu.”
Berikut adalah kode lengkap untuk mendapatkan tanggal dan waktu saat ini menggunakan datetime now
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 belajar, bagaimana menggunakan datetime dan objek tanggal dengan Python. Kami 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 memahami dengan sebuah contoh.
Kami menggunakan “fungsi strftime” untuk memformat.
Fungsi ini menggunakan kode kontrol yang berbeda untuk memberikan keluaran.
Setiap kode kontrol menyerupai parameter yang 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, ini adalah (“%Y”) yang menyerupai tahun, mencetak tahun penuh dengan abad (mis., 2018).
Langkah 2) Sekarang jika Anda mengganti (“%Y”) dengan huruf kecil, yaitu (“%y) dan mengeksekusi kode, output hanya akan ditampilkan (18) dan bukan (2018). Abad tahun tidak akan ditampilkan seperti yang ditunjukkan pada tangkapan layar di bawah
Langkah 3) Fungsi Strf dapat mendeklarasikan tanggal, hari, bulan dan tahun secara terpisah. Juga dengan sedikit perubahan pada kode kontrol dalam fungsi strftime Anda dapat memformat gaya teks.
Di dalam fungsi strftime jika Anda mengganti (%a) dengan huruf besar A, yaitu (%A) output akan dicetak sebagai “Firday” bukan hanya singkatan “Fri”.
Langkah 4) Dengan bantuan fungsi “Strftime”, kita juga dapat mengambil waktu, tanggal, atau waktu sistem lokal, atau keduanya.
%C- menunjukkan tanggal dan waktu setempat
%x- menunjukkan tanggal lokal
%X- menunjukkan waktu setempat
Pada output, 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
12 jam waktu dideklarasikan [print now.strftime(“%I:%M:%S %p) ]
24 jam waktu dideklarasikan [print now.strftime(“%H:%M”)]
Berikut adalah kode lengkap untuk mengonversi datetime ke 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 dengan Python?
Timedelta dengan Python adalah objek yang mewakili durasi. Ini terutama digunakan untuk menghitung durasi antara dua tanggal dan waktu. Ini juga digunakan untuk mengambil objek dengan beberapa tanggal dan waktu delta. Objek timedelta mendukung operasi matematika seperti penambahan, pengurangan, perkalian, pembagian, dll.
Cara menggunakan Objek Timedelta
Dengan objek timedelta Python, Anda dapat memperkirakan waktu untuk masa depan dan masa lalu. Dengan kata lain, ini adalah rentang waktu untuk memprediksi hari, tanggal, atau waktu khusus.
Ingat fungsi ini bukan untuk mencetak waktu atau tanggal, tetapi sesuatu untuk DIHITUNG tentang masa depan atau masa lalu . Mari kita lihat contoh timedelta Python untuk memahaminya dengan lebih baik.
Langkah 1) Untuk menjalankan Objek Timedelta, Anda harus 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 tangkapan layar
Jalankan kodenya. Timedelta mewakili rentang 365 hari, 8 jam dan 15 menit dan dicetak sama
Membingungkan? Langkah selanjutnya akan membantu-
Langkah 2) Mari kita dapatkan tanggal dan waktu hari ini untuk memeriksa apakah pernyataan impor kita berfungsi dengan baik. Ketika kode dieksekusi, ia mencetak tanggal hari ini yang berarti pernyataan impor kami berfungsi dengan baik
Langkah 3) Kita akan melihat bagaimana kita dapat mengambil tanggal satu tahun dari sekarang melalui objek delta. Ketika kita menjalankan kode, itu memberikan output seperti yang diharapkan.
Langkah 4) Contoh lain bagaimana delta waktu dapat digunakan untuk menghitung tanggal mendatang dari tanggal dan waktu saat ini
Langkah 5) Mari kita lihat contoh yang lebih kompleks. Saya ingin menentukan berapa hari setelah Tahun Baru. Inilah cara kami melanjutkan
Menggunakan hari ini=date.today() kita akan mendapatkan tanggal hari ini
Kami tahu tahun baru selalu pada 1-Jan, tapi tahun bisa berbeda. Menggunakan nyd=date(today.year,1,1) kita menyimpan tahun baru dalam variabel nyd
if nyd
((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.”
Ini 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))
Contoh Python 2
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
tanggal – Memanipulasi tanggal saja ( Bulan, hari, tahun)
waktu – Waktu yang 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
Impor objek datetime sebelum mengeksekusi kode adalah wajib
Menggunakan fungsi date.today untuk mencetak tanggal/bulan/tahun individual 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,
Waktu panggilan 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 sekarang
Hitung total hari yang dilewati untuk hari istimewa (ulang tahun) dari waktu sekarang