Cara Memformat Tanggal dengan Python

Pengantar

Python hadir dengan berbagai objek berguna yang dapat digunakan di luar kotak. Objek tanggal adalah contoh dari objek tersebut. Jenis tanggal sulit untuk dimanipulasi dari awal, karena kerumitan tanggal dan waktu. Namun, objek tanggal Python membuatnya sangat mudah untuk mengonversi tanggal menjadi format string yang diinginkan.

Pemformatan tanggal adalah tugas umum yang akan Anda hadapi sebagai pemrogram, dan mengomunikasikan tanggal dengan benar kepada pengguna akhir, jika aplikasi Anda memaparkannya, merupakan bagian penting dari UX.

Daerah yang berbeda di seluruh dunia memiliki cara yang berbeda untuk merepresentasikan tanggal/waktu, oleh karena itu tujuan Anda sebagai programmer adalah menyajikan nilai tanggal dengan cara yang dapat dibaca oleh pengguna.

Misalnya, Anda mungkin perlu merepresentasikan nilai tanggal secara numerik seperti โ€œ02-23-2023โ€. Sebaliknya, Anda mungkin perlu menulis nilai tanggal yang sama dalam format teks yang lebih panjang seperti โ€œ23 Februari 2023โ€. Dalam skenario lain, Anda mungkin ingin mengekstrak bulan dalam format string dari nilai tanggal yang diformat secara numerik.

Pada artikel ini, kita akan mempelajari berbagai jenis objek tanggal beserta fungsinya.

Modul datetime

Python datetime modul berisi metode yang dapat digunakan untuk bekerja dengan nilai tanggal dan waktu. Untuk menggunakan modul ini, pertama-tama kita mengimpornya melalui import pernyataan sebagai berikut:

import datetime

Kami dapat mewakili nilai waktu menggunakan time kelas. Atribut untuk time kelas termasuk jam, menit, detik dan mikrodetik.

Catatan: Argumen untuk time kelas bersifat opsional. Meskipun jika Anda tidak menentukan argumen apa pun, Anda akan mendapatkan kembali waktu 0, yang sepertinya tidak sering Anda butuhkan.

Misalnya, Anda dapat menginisialisasi objek waktu dengan nilai 1 jam, 10 menit, 20 detik, dan 13 mikrodetik menggunakan:

t = datetime.time(1, 10, 20, 13)

Untuk melihat waktu, mari gunakan the print fungsi:

print(t)

Untuk mengekstrak bidang, seperti jam, menit, detik, atau mikrodetik โ€“ Anda dapat mengakses masing-masing bidang:

print('hour:', t.hour)

Menit, detik, dan mikrodetik untuk waktu di atas dapat diambil sebagai berikut:

print('Minutes:', t.minute) 
print('Seconds:', t.second) 
print('Microsecond:', t.microsecond) 

Nilai untuk tanggal kalender dapat direpresentasikan melalui date kelas. Instance akan memiliki atribut untuk tahun, bulan, dan hari.

Mari kita panggil today() cara melihat tanggal hari ini :

import datetime

today = datetime.date.today()
print(today) 

Kode akan mengembalikan tanggal untuk hari ini, oleh karena itu keluaran yang Anda lihat akan bergantung pada hari Anda menjalankan skrip di atas.

Sekarang mari kita panggil ctime metode untuk mencetak tanggal dalam format lain:

print('ctime:', today.ctime())

Grafik ctime metode menggunakan format tanggal-waktu yang lebih lama dari contoh yang kita lihat sebelumnya. Metode ini terutama digunakan untuk mengubah waktu Unix (jumlah detik sejak 1 Januari 1970) ke format string.

Dan inilah cara kita menampilkan tahun, bulan, dan hari menggunakan date kelas:

print('Year:', today.year)
print('Month:', today.month)
print('Day :', today.day)

Ini menghasilkan:

Year: 2022
Month: 9
Day : 15

Mengubah Tanggal menjadi String dengan waktu-waktu()

Sekarang setelah Anda mengetahui cara membuat objek Tanggal dan Waktu, mari kita pelajari cara memformatnya menjadi string yang lebih mudah dibaca.

Untuk mencapai ini, kita akan menggunakan strftime() metode. Metode ini membantu kami mengonversi objek tanggal menjadi string yang dapat dibaca. Dibutuhkan dua parameter, seperti yang ditunjukkan dalam sintaks berikut:

time.strftime(format, t)

Parameter pertama adalah string format, sedangkan parameter kedua adalah waktu yang akan diformat, yang bersifat opsional.

Metode ini juga dapat digunakan pada a datetime objek secara langsung, seperti yang ditunjukkan pada contoh berikut:

import datetime

x = datetime.datetime(2022, 9, 15)
print(x.strftime("%b %d %Y %H:%M:%S"))

Lihat panduan praktis dan praktis kami untuk mempelajari Git, dengan praktik terbaik, standar yang diterima industri, dan termasuk lembar contekan. Hentikan perintah Googling Git dan sebenarnya belajar itu!

Kami telah menggunakan string karakter berikut untuk memformat tanggal:

  • %b: Mengembalikan tiga karakter pertama dari nama bulan. Dalam contoh kami, ini mengembalikan "Sep".
  • %d: Mengembalikan hari dalam sebulan, dari 1 sampai 31. Dalam contoh kita, ini mengembalikan โ€œ15โ€.
  • %Y: Mengembalikan tahun dalam format empat digit. Dalam contoh kami, ini mengembalikan "2022".
  • %H: Mengembalikan jam. Dalam contoh kami, ini mengembalikan "00".
  • %M: Mengembalikan menit, dari 00 hingga 59. Dalam contoh kami, ia mengembalikan โ€œ00โ€.
  • %S: Mengembalikan yang kedua, dari 00 hingga 59. Dalam contoh kita, ini mengembalikan โ€œ00โ€.

Kami tidak melewatkan waktu, maka nilai waktu semuanya adalah โ€œ00โ€. Contoh berikut menunjukkan bagaimana waktu dapat diformat juga:

import datetime

x = datetime.datetime(2022, 9, 15, 12, 45, 35)
print(x.strftime("%b %d %Y %H:%M:%S"))

Daftar Kode Karakter Lengkap

Selain string karakter yang diberikan di atas, the strftime metode mengambil beberapa arahan lain untuk memformat nilai tanggal:

  • %a: Mengembalikan tiga karakter pertama dari hari kerja, misalnya Rab.
  • %A: Mengembalikan nama lengkap hari kerja, misalnya Rabu.
  • %B: Mengembalikan nama lengkap bulan, misalnya September.
  • %w: Mengembalikan hari kerja sebagai angka, dari 0 hingga 6, dengan hari Minggu menjadi 0.
  • %m: Mengembalikan bulan sebagai angka, dari 01 hingga 12.
  • %p: Mengembalikan waktu AM/PM.
  • %y: Mengembalikan tahun dalam format dua digit, yaitu tanpa abad. Misalnya, "18", bukan "2018".
  • %f: Mengembalikan mikrodetik dari 000000 menjadi 999999.
  • %Z: Mengembalikan zona waktu.
  • %z: Mengembalikan offset UTC.
  • %j: Mengembalikan jumlah hari dalam setahun, dari 001 hingga 366.
  • %W: Mengembalikan jumlah minggu dalam setahun, dari 00 hingga 53, dengan Senin dihitung sebagai hari pertama dalam seminggu.
  • %U: Mengembalikan angka minggu dalam setahun, dari 00 hingga 53, dengan hari Minggu dihitung sebagai hari pertama setiap minggu.
  • %c: Mengembalikan versi tanggal dan waktu lokal.
  • %x: Mengembalikan tanggal versi lokal.
  • %X: Mengembalikan waktu versi lokal.

Perhatikan contoh berikut:

import datetime

x = datetime.datetime(2022, 9, 15)
print(x.strftime('%b/%d/%Y'))

Dan inilah cara Anda bisa mendapatkan bulannya saja:

print(x.strftime('%B'))

Mari kita tampilkan tahun:

print(x.strftime('%Y'))

Dalam contoh ini kami telah menggunakan kode format %Y. Perhatikan bahwa Y dalam huruf besar. Sekarang tulis dalam huruf kecil:

print(x.strftime('%y'))

Seperti yang Anda lihat, dengan kode pemformatan ini, Anda dapat merepresentasikan tanggal-waktu dalam bentuk apa pun yang Anda inginkan.

Mengubah String menjadi Tanggal dengan strptime

Grafik strftime() metode membantu kami mengonversi objek tanggal menjadi string yang lebih mudah dibaca. Itu strptime() metode melakukan sebaliknya, yaitu mengambil string dan mengubahnya menjadi objek tanggal yang dapat dipahami Python.

Ini berguna saat Anda menerima tanggal berformat string, dan ingin mengonversinya menjadi tanggal berformat string yang berbeda. Dengan mengonversi ke objek datetime perantara, Anda mendapatkan akses ke struktur parsing yang dapat diformat ulang ke format lainnya.

Berikut adalah sintaks untuk metode ini:

datetime.strptime(string, format)

Grafik string parameter adalah nilai dalam format string yang ingin kita ubah menjadi format tanggal. Itu format parameter adalah arahan yang menentukan format yang akan diambil pada tanggal setelah konversi.

Sebagai contoh, katakanlah kita perlu mengubah string โ€œ9/15/22โ€ menjadi a datetime obyek.

Mari kita impor dulu datetime modul:

from datetime import datetime

Kami kemudian dapat menentukan tanggal dalam bentuk string:

str = '9/15/22'

Python tidak akan dapat memahami string di atas sebagai waktu sampai kita mengubahnya menjadi aktual datetime obyek. Kita dapat berhasil melakukannya dengan memanggil strptime Metode.

Jalankan perintah berikut untuk mengonversi string:

date_object = datetime.strptime(str, '%m/%d/%y')

Sekarang mari kita panggil print berfungsi untuk menampilkan string datetime format:

print(date_object)

Seperti yang Anda lihat, konversi berhasil!

Anda sekarang dapat mengonversi objek tanggal ini ke format string lainnya.

Menangani pemisah yang berbeda semudah menggunakannya dalam format string:

from datetime import datetime

str = '9-15-22'
date_object = datetime.strptime(str, '%m-%d-%y')
print(date_object)

Kesimpulan

Pada artikel ini, kami mempelajari cara memformat tanggal dengan Python. Kami melihat bagaimana datetime modul dalam Python dapat digunakan untuk manipulasi nilai tanggal dan waktu. Modul berisi sejumlah kelas yang dapat digunakan untuk tujuan ini. Misalnya, time kelas digunakan untuk mewakili nilai waktu sedangkan date kelas digunakan untuk mewakili nilai tanggal kalender.

Stempel Waktu:

Lebih dari penyalahgunaan