Modul waktu di Python 3. Metode utama, templat, contoh

Hampir semua program menggunakan waktu. Di Python, perpustakaan terpisah telah dikembangkan untuk ini - waktudigunakan untuk melakukan berbagai tindakan dengannya. Untuk membuatnya bekerja, pertama-tama harus dideklarasikan di awal kode. Baris ini digunakan untuk ini:

waktu impor

Mari kita pertimbangkan berbagai opsi tentang cara menggunakan modul ini dengan benar dalam praktik. 

Menentukan jumlah detik sejak zaman

Untuk menyelesaikan tugas ini, ada fungsi waktu() yang tidak membutuhkan parameter. Nilai baliknya adalah berapa detik yang telah berlalu sejak 1 Januari 1970. Dalam Python, waktu ini disebut awal dari sebuah epoch. Setidaknya dalam sistem operasi keluarga Unix.

Adapun Windows, tanggalnya sama, tetapi mungkin ada masalah dengan nilai negatif sebelum tanggal ini. 

Zona waktu yang digunakan adalah UTC.

waktu impor

detik = waktu.waktu()

print(“Detik sejak Epoch =”, detik)

Kompleksitas fungsi ini adalah tidak menampilkan tanggal dengan tepat, tetapi hanya jumlah detik. Untuk mengonversi ke format yang akrab bagi semua orang, Anda perlu menggunakan informasi yang akurat. Untuk ini, fungsinya digunakan waktu.ctime().

Mengembalikan tanggal, waktu dalam format biasa

Untuk mengembalikan waktu dalam format biasa, ada metode waktu.ctime(). Tanda kurung menunjukkan variabel atau angka yang menunjukkan jumlah detik yang telah berlalu sejak awal zaman. Metode ini mengembalikan semua karakteristik tanggal dan waktu, termasuk tanggal, tahun, jumlah jam, menit, detik, dan hari dalam seminggu.

Fungsi ini juga dapat digunakan tanpa argumen. Dalam hal ini, ia mengembalikan tanggal saat ini, waktu, dan sebagainya.

Berikut adalah cuplikan kode yang menunjukkan hal ini.

waktu impor

cetak(waktu.ctime())

Sel 23 Okt 10:18:23 2018

Baris terakhir adalah apa yang dicetak ke konsol tempat interpreter Python dijalankan. Metode ini secara otomatis memformat jumlah detik yang diterima menjadi bentuk yang familiar bagi pengguna. Benar, semua elemen yang dijelaskan di atas jarang digunakan. Sebagai aturan, Anda hanya perlu mendapatkan waktu, atau hanya tanggal hari ini. Untuk ini, fungsi terpisah digunakan - strftime(). Tapi sebelum kita mempertimbangkannya, kita perlu mengurai kelas waktu.struct_time.

waktu kelas.struct_time

Ini adalah kategori argumen yang dapat diterima oleh berbagai metode. Itu tidak memiliki pilihan. Ini adalah tuple dengan antarmuka bernama. Sederhananya, elemen dari kelas ini dapat diakses baik dengan nama maupun dengan nomor indeks.

Ini terdiri dari atribut berikut.Modul waktu di Python 3. Metode utama, templat, contoh

Perhatian! Tidak seperti sejumlah bahasa pemrograman lainnya, di sini bulan dapat berkisar dari 1 hingga 12, dan bukan dari nol hingga 11.

Mengembalikan Format Tertentu

Menggunakan fungsi waktu-waktu() Anda bisa mendapatkan tahun, bulan, hari, jam, menit, detik secara individual dan mengembalikannya ke string teks. Kemudian dapat dicetak ke pengguna menggunakan fungsi cetak () atau diproses dengan cara lain.

Sebagai argumen, suatu fungsi dapat mengambil variabel apa pun yang mengambil nilai yang dikembalikan oleh fungsi lain dari modul ini. Misalnya, Anda dapat mentransfer waktu lokal ke sana (akan dibahas nanti), dari mana ia akan mengeluarkan data yang diperlukan.

Berikut adalah cuplikan kode tempat kami melakukannya.

waktu impor

bernama_tuple = waktu.localtime() # dapatkan struct_time

time_string = waktu.strftime(«%m/%d/%Y, %H:%M:%S», bernama_tuple)

cetak(time_string)

Jika Anda menjalankan kode ini, tanggal dan waktu saat ini akan ditampilkan. Format dan urutan elemen dapat diubah. Mereka adalah sebagai berikut:

  1. %Y adalah tahun.
  2. %m adalah bulan.
  3. %Hari H.
  4. %H – waktu.
  5. %M – menit.
  6. %S – detik.

Dengan demikian, Anda dapat membuatnya sehingga outputnya eksklusif untuk bulan dan hari. Untuk melakukan ini, Anda tidak perlu memberikan perintah untuk menampilkan tahun. Artinya, tulis dalam rumus di atas sebagai argumen %m/%d, dan hanya itu. Atau sebaliknya, %d/%m. 

Faktanya, jumlah literal string jauh lebih besar. Berikut adalah tabel di mana mereka dijelaskan secara rinci.Modul waktu di Python 3. Metode utama, templat, contoh

Tunda utas selama beberapa detik

Untuk ini, fungsinya digunakan tidur (). Blok tugas pemrograman yang cukup besar dikaitkan dengan berlalunya waktu. Terkadang Anda harus menunda langkah berikutnya untuk waktu tertentu. Misalnya, jika Anda perlu berinteraksi dengan database yang membutuhkan waktu pemrosesan tertentu.

Sebagai argumen, metode ini menggunakan nilai yang menyatakan jumlah detik untuk menunda langkah berikutnya dari algoritma.

Misalnya, dalam cuplikan ini, penundaannya adalah 10 detik.

waktu impor

jeda = 10

print(“Program dimulai…»)

waktu.tidur(jeda)

print(str(pause) + » detik berlalu.»)

Hasilnya, kita akan mendapatkan ini:

Program dimulai…

10 detik berlalu.

Seperti yang dapat kita lihat dari output, program pertama-tama melaporkan bahwa program telah dimulai. Dan setelah sepuluh detik, dia menulis bahwa waktu telah berlalu.

Fungsi ini memungkinkan Anda untuk menentukan durasi jeda dalam milidetik. Untuk melakukan ini, kami menggunakan nilai pecahan dari argumen fungsi tidur. Misalnya 0,1. Ini berarti penundaan akan menjadi 100 milidetik.

Dapatkan waktu setempat

Menggunakan fungsi localtime(), program mendapatkan jumlah detik sejak awal epoch dalam zona waktu tertentu. 

Mari kita beri contoh kode untuk kejelasan.

waktu impor

hasil = waktu.waktu setempat(1575721830)

print(“hasil:”,hasil)

cetak(«nгод:», result.tm_year)

print(«jam_tm:», hasil.tm_jam)

Kembalikan struct_time dalam UTC berdasarkan jumlah detik sejak Epoch

Tugas ini dicapai dengan menggunakan time.gmtime(). metode. Akan lebih jelas jika kita memberi contoh.

waktu impor

hasil = waktu.gmtime(1575721830)

print(“hasil:”,hasil)

cetak(«nгод:», result.tm_year)

print(«jam_tm:», hasil.tm_jam)

Jika Anda mengaktifkan urutan tindakan ini, maka serangkaian elemen yang terkait dengan waktu, tahun, dan zona waktu akan ditampilkan.

Kembalikan jumlah detik sejak awal zaman dengan konversi otomatis ke waktu lokal

Jika Anda dihadapkan dengan tugas seperti itu, itu diimplementasikan menggunakan metode waktu mk(), yang membutuhkan struct_time. Setelah itu, ia melakukan tindakan kebalikan dari fungsi waktu lokal(). Artinya, ia mengubah waktu menurut zona waktu lokal menjadi jumlah detik yang telah berlalu sejak awal zaman, disesuaikan dengan zona waktu.

Fungsi mktime() dan localtime() saling terkait erat. Cuplikan kode ini dengan jelas menunjukkan hal ini. Mari kita lihat untuk memahami lebih dalam cara kerjanya. 

waktu impor

detik = 1575721830

# mengembalikan struct_time

t = waktu.waktu setempat(detik)

cetak(«t1: «, t)

# mengembalikan detik dari struct_time

s = waktu.mkwaktu(t)

print(«ns:», detik)

Kita melihat bahwa variabel detik telah ditetapkan 1575721830 detik sejak zaman. Pertama, program mendapatkan tanggal, waktu, dan parameter lain yang tepat, berdasarkan nilai ini, masukkan ke dalam variabel t, dan kemudian mengubah isinya menjadi variabel s.

Setelah itu mengalahkan baris baru dan menampilkan jumlah detik di konsol. Anda dapat memeriksa apakah itu akan menjadi nomor yang sama yang ditetapkan ke variabel detik.

Tanggal keluaran dari 9 angka yang merujuk ke struct_time

Misalkan kita memiliki 9 angka yang mewakili tahun, bulan, tanggal, hari dalam seminggu dan sejumlah nilai lainnya, dan kita perlu menggabungkannya menjadi satu string. Untuk ini, fungsinya digunakan waktu asik(). Dia menerima atau siap struct_time, atau tupel lain dari 9 nilai yang mewakili hal yang sama. Setelah itu, sebuah string dikembalikan, yaitu tanggal, waktu, dan sejumlah parameter lainnya. 

Sangat mudah untuk menggunakan metode ini untuk membawa data yang ditentukan pengguna yang berbeda ke dalam satu variabel..

Misalnya, ini mungkin sebuah program di mana pengguna menentukan secara terpisah hari, bulan, tahun, hari dalam seminggu, dan data lain mengenai pendaftaran untuk suatu acara. Setelah itu, informasi yang diterima dimasukkan ke dalam database dan kemudian dikeluarkan kepada orang lain yang memintanya.

Mendapatkan waktu dan tanggal berdasarkan string Python

Misalkan pengguna telah menentukan data yang berbeda, dan kita perlu menggabungkannya ke dalam satu baris dalam format yang dimasukkan orang tersebut, dan kemudian membuat salinan ke variabel lain, dan membangunnya kembali menjadi format standar di sana. Untuk ini, fungsinya digunakan waktu.strptime().

Dibutuhkan variabel di mana nilai ini ditentukan, dan mengembalikan yang sudah kita kenal struct_time.

Untuk kejelasan, kami akan menulis program seperti itu.

waktu impor

time_string = «15 Juni 2019»

hasil = time.strptime(time_string, «%d %B, %Y»)

cetak (hasil)

Kira-kira seperti apa outputnya? Cobalah menebak tanpa melihat intinya. Dan kemudian periksa jawabannya.

waktu.struct_time(tm_year=2019, tm_mon=6, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=166, tm_isdst=-1)

Singkatnya, bekerja dengan tanggal dan waktu di Python tidak sulit sama sekali. Cukup mengikuti instruksi ini, dan semuanya akan berhasil. Menggunakan Perpustakaan waktu pengguna mendapat banyak peluang untuk bekerja dengan waktu, seperti:

  1. Menangguhkan eksekusi program untuk jangka waktu tertentu.
  2. Tunjukkan waktu yang telah berlalu sejak zaman, dalam detik. Informasi ini dapat digunakan untuk menjumlahkan waktu atau melakukan operasi matematika lainnya di atasnya.
  3. Konversikan ke format yang nyaman. Selain itu, programmer sendiri dapat mengatur elemen mana yang akan ditampilkan dan dalam urutan apa. 

Ada juga sejumlah kemungkinan lain, tetapi hari ini kami telah menganalisis yang paling mendasar. Mereka akan berguna di hampir semua program yang entah bagaimana bekerja dengan waktu. Semoga beruntung.

Tinggalkan Balasan