Python TanggalWaktu, WaktuDelta, Strftime (Format) dengan Contoh

In Python, tanggal, waktu dan tanggal waktu kelas menyediakan sejumlah fungsi untuk menangani tanggal, waktu dan interval waktu. Tanggal dan waktu masuk Python adalah objeknya, jadi ketika Anda memanipulasinya, Anda sebenarnya memanipulasi objek dan bukan string atau stempel waktu. Setiap kali Anda memanipulasi tanggal atau waktu, Anda perlu mengimpor fungsi datetime.

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.

Gunakan Kelas Tanggal & TanggalWaktu

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.

Gunakan Kelas Tanggal & TanggalWaktu

Langkah 3) Selanjutnya, kita mencetak tanggal dan menjalankan kodenya.

Gunakan Kelas Tanggal & TanggalWaktu

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

Cetak Tanggal menggunakan date.today()

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.

Cetak Tanggal menggunakan date.today()

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.

Python Tanggal dan Waktu Saat Ini

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.

Python Tanggal dan Waktu Saat 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.”

Python Tanggal dan Waktu Saat Ini

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.

Format Output Tanggal dan Waktu dengan Strftime()

  • 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

Format Output Tanggal dan Waktu dengan Strftime()

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.

Format Output Tanggal dan Waktu dengan Strftime()

Di dalam fungsi strftime jika Anda mengganti (%a) dengan huruf kapital A, yaitu (%A) outputnya akan dicetak sebagai “Firday” dan bukan hanya singkatan “Fri”.

Format Output Tanggal dan Waktu dengan Strftime()

Langkah 4) Dengan bantuan fungsi "Strftime" kita juga dapat mengambil waktu, tanggal, atau keduanya sistem lokal.

  1. %C- menunjukkan tanggal dan waktu setempat
  2. %x- menunjukkan tanggal lokal
  3. %X- menunjukkan waktu setempat

Format Output Tanggal dan Waktu dengan Strftime()

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.

Format Output Tanggal dan Waktu dengan Strftime()

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

Objek Timedelta

  1. Tulis pernyataan impor untuk timedelta
  2. Sekarang tulis kode untuk mencetak objek dari delta waktu seperti yang ditunjukkan pada gambar layar
  3. 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

Objek Timedelta

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.

Objek Timedelta

Langkah 4) Contoh lain bagaimana delta waktu dapat digunakan untuk menghitung tanggal masa depan dari tanggal dan waktu saat ini

Objek Timedelta

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

Objek Timedelta

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