Python TanggalWaktu, WaktuDelta, Strftime (Format) dengan Contoh

โšก Ringkasan Cerdas

Python Kelas `datetime`, bersama dengan kelas `date`, `time`, dan `timedelta`, menangani tanggal, waktu, dan interval sebagai objek. Modul `datetime` memformat output dengan `strftime()`, mengurai string, dan menghitung momen di masa depan atau masa lalu menggunakan aritmatika `timedelta`.

  • ๐Ÿ”˜ Lima kelas: Modul datetime mengelompokkan kelas date, time, datetime, timedelta, dan tzinfo untuk pekerjaan yang berkaitan dengan tanggal dan waktu.
  • โ˜‘๏ธ Nilai saat ini: Fungsi datetime.now() dan date.today() mengembalikan tanggal dan waktu saat ini, termasuk nomor hari dalam seminggu.
  • โœ… Pemformatan: Fungsi strftime() mengubah tanggal dan waktu menjadi teks yang dapat dibaca menggunakan kode kontrol seperti %Y, %A, dan %H.
  • ๐Ÿงช Selisih waktu: Objek timedelta mengukur durasi dan memprediksi tanggal di masa depan atau masa lalu melalui penjumlahan dan pengurangan.traction.
  • ๏ธ Arahan: Kode kontrol yang sama menggerakkan fungsi strftime() untuk output dan strptime() untuk membaca kembali string ke dalam tipe data datetime.
  • ๐Ÿค– Alur kerja AI: Pipeline pembelajaran mesin menghasilkan fitur tanggal dan waktu seperti hari dalam seminggu dan jam untuk model deret waktu.

Python Tanggal Waktu

In Python, tanggal, waktu dan tanggal waktu Kelas-kelas tersebut menyediakan sejumlah fungsi untuk menangani tanggal, waktu, dan interval waktu. Tanggal dan waktu dalam Python Karena merupakan objek, saat Anda memanipulasinya, Anda sebenarnya memanipulasi objek dan bukan string atau stempel waktu. Setiap kali Anda memanipulasi tanggal atau waktu, Anda perlu mengimpor modul datetime.

Kelas datetime di Python dikategorikan menjadi 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โ€” Sebuah abstrackelas t 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 Sebuah pustaka yang memungkinkan Anda memanipulasi tanggal dan waktu, tanpa perlu 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 PythonKami tidak menulis kode untuk fungsi tanggal ini, tetapi hanya mengimpornya untuk penggunaan kami.

Cetak Tanggal menggunakan date.today()

Fungsi date.today() memiliki beberapa properti yang terkait dengannya. Kita dapat mencetak hari/bulan/tahun secara individual 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 dalam seminggu. Berikut adalah Tabel Hari dalam Seminggu yang dimulai dengan Monday sebagai 0 dan hari 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()

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

Hasilnya sesuai harapan.

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. Misalnya, kita ingin mencetak hanya waktu saat ini 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 punya tanggal dan waktu. Dan kemudian di baris berikutnya, saya hanya punya waktu saja.

Langkah 3) Kita akan menerapkan pengindeks hari kerja kita ke daftar array hari kerja kita untuk mengetahui hari apa hari ini.

  • Operator hari kerja (wd) diberi nomor dari (0-6) tergantung pada hari kerja saat ini. Di sini kita mendeklarasikan array daftar hari (Senin, Sel, Rabuโ€ฆMinggu).
  • 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()

Sejauh ini, kita telah mempelajari cara menggunakan datetime dan date. 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 yang berbeda seperti tahun, bulan, hari dalam seminggu, 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. Selain itu, dengan sedikit perubahan pada kode kontrol dalam fungsi strftime, Anda dapat memformat gaya teks.

Format Output Tanggal dan Waktu dengan Strftime()

Di dalam fungsi strftime, jika Anda mengganti (%a) dengan huruf A kapital, yaitu (%A), maka output akan tercetak sebagai โ€œFridayโ€ 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 `timedelta` adalah objek yang merepresentasikan durasi. Objek ini terutama digunakan untuk menghitung durasi antara dua tanggal dan waktu. Objek ini juga digunakan untuk mengambil objek dengan selisih tanggal dan waktu tertentu. Objek `timedelta` mendukung operasi matematika seperti penjumlahan dan pengurangan.tracperkalian, pembagian, dan lain-lain.

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 laluMari kita lihat 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

  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

Objek Timedelta

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
  • Jika nyd < today: membandingkan apakah tanggal saat ini lebih besar dari tahun baru. Jika ya, masuk ke dalam loop while.
  • ((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

Contoh-contoh berikut menunjukkan operasi tanggal dan waktu yang sama yang ditulis untuk Python 2, di mana print adalah sebuah pernyataan dan bukan sebuah fungsi. Gunakan versi ini hanya saat memelihara kode lama. Python Kode 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)

Pertanyaan Umum Demo Slot

Gunakan `datetime.strptime(text, format)` untuk mengurai string menjadi objek `datetime`. Berikan arahan yang sama seperti yang digunakan `strftime()`, sehingga โ€œ2018-06-29โ€ akan terbaca dengan โ€œ%Y-%m-%dโ€. Sebagai kebalikan dari `strftime()`, `strptime()` mengubah teks yang mudah dibaca manusia kembali menjadi objek `datetime` yang dapat Anda hitung.

Tanggal dan waktu tanpa informasi zona waktu bersifat naif; menambahkan zona waktu membuatnya lebih peka. Gunakan modul zoneinfo bawaan (Python 3.9+) atau paket pytz untuk melokalisasi tanggal dan waktu, lalu mengkonversi antar zona sehingga perhitungan tetap akurat di berbagai wilayah.

Panggil metode `timestamp()` pada objek `datetime` untuk mendapatkan detik sejak epoch Unix sebagai nilai float, misalnya `datetime.now().timestamp()`. Untuk melakukan sebaliknya, `datetime.fromtimestamp(value)` membangun kembali objek `datetime` dari stempel waktu Unix.

Keduanya mengembalikan tanggal dan waktu lokal saat ini, tetapi datetime.now() menerima argumen zona waktu opsional, sedangkan datetime.today() tidak. Untuk kode yang peka terhadap zona waktu, lebih baik gunakan datetime.now(tz) agar hasilnya membawa offset yang benar daripada tetap naif.

Ya. Modul tanggal dan waktu disertakan PythonJadi, tidak perlu melakukan pip install. Impor dengan โ€œfrom datetime import datetime, date, time, timedeltaโ€ dan kelas date, time, datetime, timedelta, dan tzinfo akan langsung tersedia.

Panggil metode isoformat() untuk mendapatkan string ISO 8601 standar seperti โ€œ2018-06-29T08:15:27โ€. Untuk objek tanggal, ia mengembalikan โ€œYYYY-MM-DDโ€. isoformat() tidak memerlukan kode kontrol, tidak seperti strftime(), yang membangun tata letak khusus dari arahan.

Pipeline pembelajaran mesin mengubah stempel waktu mentah menjadi fitur-fitur seperti hari dalam seminggu, jam, bulan, dan waktu yang telah berlalu menggunakan datetime dan timedelta. Fitur tanggal yang telah direkayasa ini membantu model deret waktu dan sistem peramalan AI mendeteksi pola musiman dan siklus.

Ya. GitHub Copilot dan asisten AI berbasis agen menghasilkan string format strftime(), perhitungan timedelta, dan konversi zona waktu dari komentar singkat, serta dapat menjelaskan arahan yang rumit. Selalu jalankan kode yang disarankan, karena penanganan tanggal dan offset mudah salah.

Ringkaslah postingan ini dengan: