modul wektu ing Python 3. cara utama, Cithakan, conto

Meh kabeh program nggunakake wektu. Ing Python, perpustakaan kapisah wis dikembangake kanggo iki - wektudigunakake kanggo nindakake macem-macem tumindak karo. Supaya bisa digunakake, kudu diumumake dhisik ing wiwitan kode. Baris iki digunakake kanggo iki:

wektu ngimpor

Ayo dipikirake macem-macem opsi babagan carane nggunakake modul iki kanthi bener ing praktik. 

Nemtokake jumlah detik wiwit jaman

Kanggo ngrampungake tugas iki, ana fungsi wektu() sing ora njupuk paramèter. Nilai bali yaiku pirang-pirang detik sing wis liwati wiwit 1 Januari 1970. Ing Python, wektu iki diarani wiwitan jaman. Paling ora ing sistem operasi saka kulawarga Unix.

Kanggo Windows, tanggal kasebut padha, nanging bisa uga ana masalah karo nilai negatif sadurunge tanggal kasebut. 

Zona wektu sing digunakake yaiku UTC.

wektu ngimpor

detik = wektu. wektu ()

print("Detik wiwit jaman =", detik)

Kompleksitas fungsi iki yaiku ora nampilake persis tanggal, nanging mung nomer detik. Kanggo ngowahi menyang format sing dikenal kanggo kabeh wong, sampeyan kudu nggunakake informasi sing akurat. Kanggo iki, fungsi digunakake wektu.ctime().

Mbalik tanggal, wektu ing format biasanipun

Kanggo bali wektu ing format biasanipun, ana cara wektu.ctime(). Tanda kurung nuduhake variabel utawa nomer sing nuduhake jumlah detik sing wis liwati wiwit wiwitan jaman. Cara iki ngasilake kabeh ciri tanggal lan wektu, kalebu tanggal, taun, jumlah jam, menit, detik, lan dina minggu.

Fungsi iki uga bisa digunakake tanpa argumen. Ing kasus iki, bakal ngasilake tanggal, wektu, lan liya-liyane.

Iki minangka potongan kode sing nuduhake iki.

wektu ngimpor

print(time.ctime())

Sel 23 Okt 10:18:23 2018

Baris pungkasan yaiku sing dicithak ing konsol ing ngendi interpreter Python mlaku. Cara kasebut kanthi otomatis ngowahi jumlah detik sing ditampa dadi formulir sing wis dingerteni pangguna. Bener, kabeh unsur sing diterangake ing ndhuwur arang digunakake. Minangka aturan, sampeyan kudu entuk mung wektu, utawa mung tanggal saiki. Kanggo iki, fungsi kapisah digunakake - strftime(). Nanging sadurunge kita nimbang iku, kita kudu parse kelas wektu.struct_time.

wektu kelas.struct_time

Iki minangka kategori argumen sing bisa ditampa kanthi sawetara metode. Ora duwe pilihan. Iku tuple karo antarmuka jenenge. Cukup, unsur kelas iki bisa diakses kanthi jeneng lan nomer indeks.

Iku kasusun saka atribut ing ngisor iki.modul wektu ing Python 3. cara utama, Cithakan, conto

manungsa waé! Ora kaya pirang-pirang basa pamrograman liyane, ing kene wulan kasebut bisa beda-beda saka 1 nganti 12, lan ora saka nol nganti 11.

Ngasilake Format Tertentu

Nggunakake fungsi strftime() sampeyan bisa entuk taun, sasi, dina, jam, menit, detik lan bali menyang senar teks. Banjur bisa dicithak menyang pangguna nggunakake fungsi kasebut print () utawa liya diproses.

Minangka argumentasi, sawijining fungsi bisa njupuk variabel apa wae sing njupuk nilai bali saka fungsi liyane saka modul iki. Contone, sampeyan bisa nransfer wektu lokal menyang (bakal rembugan mengko), saka kang bakal narik metu data perlu.

Iki minangka potongan kode ing ngendi kita nindakake.

wektu ngimpor

name_tuple = time.localtime() # entuk struct_time

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

print (string_waktu)

Yen sampeyan mbukak kode iki, tanggal lan wektu saiki bakal ditampilake. Format lan urutan unsur bisa diganti. Padha kaya ing ngisor iki:

  1. %Y iku taun.
  2. %m iku sasi.
  3. %d – dina.
  4. %H - wektu.
  5. %M – menit.
  6. %S – kapindho.

Patut, sampeyan bisa nggawe supaya output mung sasi lan dina. Kanggo nindakake iki, sampeyan mung ora perlu menehi prentah kanggo nampilake taun. Sing, nulis ing rumus ndhuwur minangka argumen %m/%d, lan iku. Utawa kosok balene, %d/%m. 

Nyatane, jumlah string literal luwih akeh. Punika tabel ing ngendi padha diterangake ing rinci.modul wektu ing Python 3. cara utama, Cithakan, conto

Nundha thread kanggo sawetara detik tartamtu

Kanggo iki, fungsi digunakake turu(). Blok tugas pemrograman sing cukup gedhe digandhengake karo wektu. Kadhangkala sampeyan kudu nundha langkah sabanjure kanggo wektu tartamtu. Contone, yen sampeyan kudu sesambungan karo database sing mbutuhake wektu tartamtu kanggo proses.

Minangka argumentasi, metode kasebut nggunakake nilai sing nuduhake jumlah detik kanggo nundha langkah sabanjure saka algoritma.

Contone, ing cuplikan iki, wektu tundha 10 detik.

wektu ngimpor

ngaso = 10

print(“Program diwiwiti…»)

wektu.turu (pause)

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

Akibaté, kita bakal entuk iki:

Program diwiwiti…

10 detik liwati.

Minangka kita bisa ndeleng saka output, program pisanan laporan sing wis diwiwiti. Lan sawise sepuluh detik, dheweke nulis yen wektu iki wis liwati.

Fungsi kasebut ngidini sampeyan nemtokake durasi ngaso ing milidetik. Kanggo nindakake iki, kita nggunakake nilai pecahan saka argumen fungsi turu. Contone, 0,1. Iki tegese wektu tundha bakal dadi 100 milidetik.

Entuk wektu lokal

Nggunakake fungsi localtime (), program entuk nomer detik wiwit wiwitan jaman ing zona wektu tartamtu. 

Ayo menehi conto kode kanggo gamblang.

wektu ngimpor

asil = time.localtime(1575721830)

print("hasil:", hasil)

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

print(«tm_hour:», result.tm_hour)

Bali struct_time ing UTC adhedhasar nomer detik wiwit jaman

Tugas iki digayuh nggunakake time.gmtime (). cara. Bakal luwih cetha yen kita menehi conto.

wektu ngimpor

asil = time.gmtime(1575721830)

print("hasil:", hasil)

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

print(«tm_hour:», result.tm_hour)

Yen sampeyan ngaktifake urutan tumindak iki, sakumpulan unsur sing ana gandhengane karo wektu, taun lan zona wektu bakal ditampilake.

Wangsulake nomer detik wiwit wiwitan jaman kanthi konversi otomatis menyang wektu lokal

Yen sampeyan nemoni tugas kasebut, mula ditindakake kanthi nggunakake metode kasebut mktime(), sing njupuk struct_wektu. Sawisé iku, nindakake tumindak mbalikke saka fungsi wektu lokal (). Yaiku, ngowahi wektu miturut zona wektu lokal dadi jumlah detik sing wis liwati wiwit wiwitan jaman, diatur kanggo zona wektu.

Fungsi mktime () lan localtime () raket banget. Snippet kode iki jelas nuduhake iki. Ayo dideleng kanggo ngerti luwih jero babagan cara kerjane. 

wektu ngimpor

detik = 1575721830

# ngasilake struct_time

t = wektu.localtime(detik)

print("t1: ", t)

# ngasilake detik saka struct_time

s = wektu.mktime(t)

print(«ns:», detik)

We ndeleng sing variabel Detik wis diutus 1575721830 detik wiwit jaman. Kaping pisanan, program entuk tanggal, wektu lan paramèter liyane, adhedhasar nilai kasebut, dilebokake ing variabel t, banjur ngowahi isine dadi variabel s.

Sawisé iku ngalahake baris anyar lan nampilake nomer detik ing console. Sampeyan bisa mriksa manawa bakal dadi nomer sing padha karo variabel detik.

Tanggal output saka 9 nomer sing nuduhake struct_time

Upaminipun kita duwe 9 nomer makili taun, sasi, tanggal, dina minggu lan sawetara nilai liyane, lan kita kudu gabungke menyang siji string. Kanggo iki, fungsi digunakake asctime(). Dheweke nampa utawa siap struct_time, utawa tuple liyane saka 9 nilai sing padha. Sawise iku, string bali, yaiku tanggal, wektu, lan sawetara paramèter liyane. 

Iku trep banget kanggo nggunakake metode iki supaya bisa nggawa data sing ditemtokake pangguna sing beda-beda menyang variabel siji..

Contone, bisa uga program sing pangguna nemtokake dina, sasi, taun, dina minggu, lan data liyane babagan registrasi acara. Sawisé iku, informasi sing ditampa dilebokake ing basis data banjur diwènèhaké marang wong liya sing njaluk.

Entuk wektu lan tanggal adhedhasar senar Python

Upamane pangguna wis nemtokake data sing beda-beda, lan kita kudu gabungke dadi siji baris ing format sing dilebokake wong, banjur nggawe salinan menyang variabel liyane, lan mbangun maneh menyang format standar ing kana. Kanggo iki, fungsi digunakake wektu.strptime().

Butuh variabel kang Nilai iki ditemtokake, lan ngasilake wis menowo kanggo kita struct_wektu.

Kanggo gamblang, kita bakal nulis program kasebut.

wektu ngimpor

time_string = «15 Juni 2019»

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

print (hasil)

Tebak apa sing bakal dadi output? Coba tebak tanpa ndeleng garis ngisor. Banjur mriksa jawaban.

time.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)

Ing tembung, nggarap tanggal lan kaping ing Python ora angel banget. Iku cukup kanggo tindakake pandhuan iki, lan kabeh bakal bisa. Nggunakake Pustaka wektu pangguna entuk akeh kesempatan kanggo nggarap wektu, kayata:

  1. Nundha eksekusi program sajrone wektu tartamtu.
  2. Tampilake wektu sing wis liwati wiwit jaman, ing detik. Informasi iki bisa digunakake kanggo nyimpulake wektu utawa nindakake operasi matematika liyane.
  3. Ngonversi menyang format trep. Kajaba iku, programer dhewe bisa nyetel unsur sing bakal ditampilake lan ing urutan apa. 

Ana uga sawetara kemungkinan liyane, nanging dina iki kita wis analisa paling dhasar. Dheweke bakal migunani ing meh kabeh program sing bisa digunakake kanthi wektu. Sugeng dalu.

Ninggalake a Reply