Rumah >Peranti teknologi >industri IT >Memahami tarikh dan masa python, dengan contoh

Memahami tarikh dan masa python, dengan contoh

Jennifer Aniston
Jennifer Anistonasal
2025-02-09 09:34:09741semak imbas

Memahami tarikh dan masa python, dengan contoh

Dalam artikel ini, kami akan meneroka cara menggunakan tarikh dan masa di Python. Kami akan melihat contoh kehidupan sebenar bekerja dengan tarikh dan masa menggunakan modul Python DateTime and Time.

Bekerja dengan masa dan tarikh tidak dapat dielakkan apabila membina projek kehidupan sebenar, dan terdapat banyak kes penggunaan untuk mereka. Syukurlah, Python mempunyai beberapa modul yang memudahkan untuk bekerja dengan tarikh dan masa sepanjang masa waktu.

Kod untuk tutorial ini boleh didapati di GitHub .

Kandungan:

    Modul Masa
    • fungsi masa ()
    • fungsi gmtime ()
    • Fungsi Tempatan ()
    • fungsi CTime ()
    • fungsi strftime ()
    • fungsi tidur ()
  1. Modul DateTime
  2. Mendapatkan tarikh dan masa semasa di Python
  3. Mendapatkan tarikh semasa di Python
  4. Kelas Modul DateTime
  5. kelas tarikh
  6. Kelas Masa
  7. kelas datetime
  8. Kelas Timedelta
  9. python Formatting DateTime
    • memformat datetime dengan kaedah strftime ()
    • memformat datetime dengan kaedah strpTime ()
  10. Bekerja dengan Timedelta
Takeaways Key

    Python menyediakan modul `DateTime` dan` masa` untuk mengendalikan operasi tarikh dan masa, yang penting untuk projek kehidupan sebenar.
  • modul `DateTime` termasuk kelas seperti` Date`, `Time`,` DateTime`, `Timedelta`,` Tzinfo`, dan `TimeZone` untuk manipulasi tarikh dan masa yang komprehensif.
  • Gunakan `datetime.now ()` dan `date.today ()` kaedah untuk mengambil tarikh dan masa semasa, dengan pilihan pemformatan yang tersedia melalui `strftime ()` dan `strpTime ()`.
  • Kelas `timedelta` berguna untuk mengira perbezaan tarikh dan masa, membolehkan penambahan, penolakan, dan pengiraan berasaskan masa lain.
  • Pengendalian zon masa difasilitasi oleh modul `ZoneInfo`, membolehkan penciptaan objek DateTime yang menyedari zon waktu.
  • Pendekatan Python sehingga tarikh dan pemformatan masa mematuhi piawaian ISO 8601, tetapi juga membolehkan penyesuaian sesuai dengan keutamaan serantau.
  • Modul Masa
Modul Masa Python adalah untuk melakukan operasi yang berkaitan dengan masa. Kami kini akan menyerlahkan beberapa fungsi yang paling biasa digunakan dalam modul masa, dengan contoh.

fungsi masa ()

Fungsi masa () mengembalikan masa semasa dalam beberapa saat sejak permulaan zaman set sebagai nombor titik terapung. Masa yang digunakan bermula pada 1 Januari 1970, 00:00:00 (UTC):

Berikut adalah output kod di atas:

<span>import time as time_module
</span>
time_in_seconds <span>= time_module.time()
</span><span>print("Time in sceconds from epoch", time_in_seconds)</span>

fungsi gmtime ()

fungsi gmtime () mengembalikan struct_time di UTC dari masa yang dinyatakan dalam beberapa saat sejak permulaan zaman. A Struct_time adalah sejenis urutan nilai masa dengan antara muka tuple yang dinamakan yang dikembalikan oleh gmtime (), localtime (), dan strptime ():

Time <span>in sceconds from epoch 1680712853.0801558</span>

Berikut adalah output kod di atas:

<span>import time as time_module
</span>
utc_time_in_seconds <span>= time_module.gmtime()
</span><span>print("Time struct in UTC", utc_time_in_seconds)</span>

Fungsi Tempatan ()

Fungsi Tempatan () mengembalikan struct_time dalam masa tempatan dari masa yang dinyatakan dalam beberapa saat sejak permulaan zaman:

Time struct <span>in UTC: time.struct_time(tm_year=2023, tm_mon=3, tm_mday=16, tm_hour=14, tm_min=47, tm_sec=28, tm_wday=3, tm_yday=75, tm_isdst=0)</span>

Berikut adalah output kod di atas:

<span>import time as time_module
</span>
local_time <span>= time_module.localtime()
</span><span>print("Time struct in local time:", local_time)</span>

fungsi CTime ()

Kaedah CTime () menukarkan masa dalam beberapa saat dari awal zaman ke format rentetan. Sekiranya tiada hujah yang diserahkan kepada fungsi, ia mengembalikan rentetan masa untuk masa semasa dalam beberapa saat:

Time struct <span>in local time: time.struct_time(tm_year=2023, tm_mon=4, tm_mday=20, tm_hour=15, tm_min=46, tm_sec=15, tm_wday=3, tm_yday=75, tm_isdst=0)</span>

Berikut adalah output kod di atas:

<span>import time as time_module
</span>
time_in_secs <span>= 1678671984.939945  
</span>
time_string <span>= time_module.ctime(time_in_secs)
</span><span>print("Time string: ",time_string)</span>

fungsi strftime ()

kaedah strftime () menukarkan struct_time ke rentetan masa seperti yang ditentukan oleh argumen format yang diberikan:

Time string: Thu Apr <span>20 01:46:24 2023</span>

Berikut adalah output kod di atas:

<span>import time as time_module
</span>
time_tuple <span>= time_module.gmtime()
</span>time_format <span>= "%y/%m/%d %I:%M:%S %p"
</span>
time_in_string <span>= time_module.strftime(time_format, time_tuple)
</span>
<span>print("Time expressed as formatted string:", time_in_string)</span>

fungsi tidur ()

fungsi tidur () menangguhkan pelaksanaan benang untuk bilangan detik yang ditentukan:

Time expressed as formatted string: <span>23/04/20 04:40:04 PM</span>

Berikut adalah output kod di atas:

<span>import time as time_module 
</span>
<span>for i in range(5):
</span>    local_time <span>= time_module.localtime()
</span>    seconds <span>= local_time.tm_sec
</span>    <span>print(seconds)
</span>    time_module<span>.sleep(2)</span>

Dalam kod di atas, nombor 2 diluluskan sebagai argumen fungsi tidur (), yang menyebabkan gelung melambatkan dua saat sebelum pelaksanaan. Nombor yang output mengesahkan kod kami.

Modul DateTime

Modul DateTime membekalkan kelas untuk memanipulasi tarikh dan masa.

Kelas -kelas ini adalah penting untuk memanipulasi, pengekstrakan, dan pemformatan output yang mudah, masa dan tarikh. Biasanya, tarikh dan masa tidak dianggap jenis data dalam Python, tetapi mereka adalah objek tarikh dan masa kelas modul DateTime. Kelas DateTime juga mempunyai kaedah yang berbeza untuk pengendalian tarikh dan objek masa.

Mendapatkan tarikh dan masa semasa di Python

Untuk mendapatkan tarikh dan masa semasa, import kelas DateTime dari modul DateTime. Kelas DateTime mempunyai kaedah, sekarang (), yang mengembalikan tarikh dan masa semasa:

<span>49
</span><span>51
</span><span>53
</span><span>55
</span><span>57</span>

Berikut adalah output kod di atas:

<span>from  datetime  import  datetime
</span>
current_date_time <span>= datetime.now()
</span><span>print(current_date_time)</span>

Mendapatkan tarikh semasa di Python

Untuk mendapatkan tarikh semasa, import kelas tarikh dari modul DateTime. Kelas tarikh mempunyai kaedah, hari ini (), yang mengembalikan tarikh semasa:

<span>2023-04-20 13:47:02.362424</span>

Berikut adalah output kod di atas:

<span>from datetime import date
</span>
current_date <span>= date.today()
</span><span>print(current_date)</span>

Kelas Modul DateTime

Modul DateTime kini mempunyai enam kelas, masing -masing dengan kaedah yang berbeza untuk memanipulasi tarikh dan objek masa. Kelas disenaraikan seperti berikut:

  • tarikh
  • masa
  • DATETIME
  • Timedelta
  • tzinfo
  • zon waktu
kelas tarikh

Objek tarikh mewakili tarikh (tahun, bulan dan hari) dalam kalendar yang ideal - kalendar Gregorian semasa dilanjutkan dalam kedua -dua arah.

Objek tarikh boleh diterapkan seperti berikut:

<span>import time as time_module
</span>
time_in_seconds <span>= time_module.time()
</span><span>print("Time in sceconds from epoch", time_in_seconds)</span>
Pembina objek tarikh mengambil tiga argumen integer dan harus berada dalam julat yang ditentukan:

    minyear 1 1
Dalam kod di atas, Minyear adalah 1 dan Maxyear adalah 9999. Nilai mewakili nombor tahun terkecil dan terbesar yang dibenarkan dalam

tarikh atau objek .

Apabila hujah-hujah itu keluar dari jarak jauh, ia melemparkan nilai Valueerror, dan argumen bukan integer membuang TypeError.

Contoh: Buat objek tarikh

Untuk membuat objek tarikh, import kelas tarikh dari modul DateTime, dan lulus argumen untuk tahun, bulan dan hari ke pembina tarikh. Hujah -hujah mestilah bilangan bulat dan dalam julat yang ditentukan:

Time <span>in sceconds from epoch 1680712853.0801558</span>
Berikut adalah output kod di atas:

<span>import time as time_module
</span>
utc_time_in_seconds <span>= time_module.gmtime()
</span><span>print("Time struct in UTC", utc_time_in_seconds)</span>
Contoh: Dapatkan tarikh semasa

Untuk mendapatkan tarikh tempatan semasa, gunakan kelas tarikh hari ini () dan ctime () kaedah:

Time struct <span>in UTC: time.struct_time(tm_year=2023, tm_mon=3, tm_mday=16, tm_hour=14, tm_min=47, tm_sec=28, tm_wday=3, tm_yday=75, tm_isdst=0)</span>
kaedah hari ini () akan mengembalikan tarikh tempatan, manakala kaedah CTime () menjadikan tarikh sebagai rentetan. Inilah output kod di atas:

<span>import time as time_module
</span>
local_time <span>= time_module.localtime()
</span><span>print("Time struct in local time:", local_time)</span>
Contoh: Buat tarikh dari format ISO

Objek tarikh boleh dibuat dari rentetan tarikh dalam format ISO 8601. Gunakan kaedah fromIsOformat () kelas tarikh untuk melakukan ini:

Time struct <span>in local time: time.struct_time(tm_year=2023, tm_mon=4, tm_mday=20, tm_hour=15, tm_min=46, tm_sec=15, tm_wday=3, tm_yday=75, tm_isdst=0)</span>

NOTA: ISO 8601 adalah format piawai untuk menyampaikan tarikh dan masa tanpa membuat kekeliruan di seluruh kawasan atau zon waktu. ISO 8601 mengambil format yyyy-mm-dd.

Berikut adalah output kod di atas:

<span>import time as time_module
</span>
time_in_secs <span>= 1678671984.939945  
</span>
time_string <span>= time_module.ctime(time_in_secs)
</span><span>print("Time string: ",time_string)</span>
Contoh: Buat objek tarikh dari rentetan

Untuk membuat objek tarikh, lulus rentetan tarikh dan format yang sepadan dengan kaedah strpTime (). Ekstrak tarikh dengan menggunakan tarikh () kaedah objek DateTime yang dikembalikan:

Time string: Thu Apr <span>20 01:46:24 2023</span>
Berikut adalah output kod di atas:

<span>import time as time_module
</span>
time_tuple <span>= time_module.gmtime()
</span>time_format <span>= "%y/%m/%d %I:%M:%S %p"
</span>
time_in_string <span>= time_module.strftime(time_format, time_tuple)
</span>
<span>print("Time expressed as formatted string:", time_in_string)</span>
Contoh: Dapatkan tahun, bulan, hari dari objek tarikh

Untuk mengekstrak tahun, bulan dan hari dari objek tarikh, gunakan atribut kelas.

Berikut adalah output kod di atas:
Time expressed as formatted string: <span>23/04/20 04:40:04 PM</span>

Kelas Masa
<span>import time as time_module 
</span>
<span>for i in range(5):
</span>    local_time <span>= time_module.localtime()
</span>    seconds <span>= local_time.tm_sec
</span>    <span>print(seconds)
</span>    time_module<span>.sleep(2)</span>

objek masa mewakili waktu (tempatan) hari, bebas dari mana -mana hari tertentu, dan tertakluk kepada pelarasan melalui objek Tzinfo.

Objek tarikh boleh diterapkan seperti berikut:

<span>import time as time_module
</span>
time_in_seconds <span>= time_module.time()
</span><span>print("Time in sceconds from epoch", time_in_seconds)</span>

Objek masa boleh diterapkan tanpa sebarang argumen. Semua argumen adalah pilihan dengan nilai lalai 0, kecuali tzinfo, yang tidak ada. Semua argumen mestilah bilangan bulat dalam julat yang ditentukan, sementara argumen Tzinfo harus menjadi contoh subkelas Tzinfo:

  • 0
  • 0
  • 0
  • 0

Apabila hujah -hujah yang keluar dari julat diserahkan kepada pembina, ia menimbulkan nilai.

Contoh: Buat objek masa

Untuk membuat objek masa, mengimport kelas masa dari modul DateTime. Lulus argumen selama berjam -jam, minit, saat, mikroseconds dan tzinfo. Ingat bahawa semua hujah adalah pilihan, jadi apabila tiada hujah yang diserahkan kepada pembina, objek masa kembali 00:00:00:

Time <span>in sceconds from epoch 1680712853.0801558</span>

Berikut adalah output kod di atas:

<span>import time as time_module
</span>
utc_time_in_seconds <span>= time_module.gmtime()
</span><span>print("Time struct in UTC", utc_time_in_seconds)</span>

Contoh: Buat masa dari format ISO

Objek masa boleh dibuat dari rentetan masa dalam format ISO 8601. Gunakan kaedah fromIsOformat () kelas masa untuk melakukan ini:

Time struct <span>in UTC: time.struct_time(tm_year=2023, tm_mon=3, tm_mday=16, tm_hour=14, tm_min=47, tm_sec=28, tm_wday=3, tm_yday=75, tm_isdst=0)</span>

Berikut adalah output kod di atas:

<span>import time as time_module
</span>
local_time <span>= time_module.localtime()
</span><span>print("Time struct in local time:", local_time)</span>

Contoh: Buat objek masa dari rentetan

Untuk membuat objek masa, lulus rentetan tarikh dan format yang sepadan dengan kaedah strpTime (). Ekstrak masa dengan menggunakan masa () kaedah objek DateTime yang dikembalikan:

Time struct <span>in local time: time.struct_time(tm_year=2023, tm_mon=4, tm_mday=20, tm_hour=15, tm_min=46, tm_sec=15, tm_wday=3, tm_yday=75, tm_isdst=0)</span>

Berikut adalah output kod di atas:

<span>import time as time_module
</span>
time_in_secs <span>= 1678671984.939945  
</span>
time_string <span>= time_module.ctime(time_in_secs)
</span><span>print("Time string: ",time_string)</span>

Contoh: Dapatkan jam, minit, saat dan mikrosecond dari objek masa

Untuk mengekstrak nilai selama berjam -jam, minit, saat dan mikroseconds, gunakan atribut jam, minit, kedua, dan mikrosecond objek masa:

Time string: Thu Apr <span>20 01:46:24 2023</span>

Berikut adalah output kod di atas:

<span>import time as time_module
</span>
time_tuple <span>= time_module.gmtime()
</span>time_format <span>= "%y/%m/%d %I:%M:%S %p"
</span>
time_in_string <span>= time_module.strftime(time_format, time_tuple)
</span>
<span>print("Time expressed as formatted string:", time_in_string)</span>

kelas datetime

Objek DateTime adalah objek tunggal yang mengandungi semua maklumat dari objek tarikh dan objek masa.

Objek DateTime boleh diterapkan seperti berikut:

Time expressed as formatted string: <span>23/04/20 04:40:04 PM</span>

Pembina DateTime memerlukan hujah tahun, bulan dan hari. Lalai Tzinfo tidak ada atau contoh subkelas Tzinfo. Argumen masa adalah pilihan, tetapi hujah -hujah mestilah bilangan bulat dan dalam julat:

  • minyear
  • 1
  • 1
  • 0
  • 0
  • 0
  • 0

ValueError dibangkitkan jika argumen berada di luar jangkauan.

Contoh: Buat objek DateTime

Untuk membuat objek DateTime, import kelas DateTime dari modul DateTime dan lulus argumen berikut:

<span>import time as time_module 
</span>
<span>for i in range(5):
</span>    local_time <span>= time_module.localtime()
</span>    seconds <span>= local_time.tm_sec
</span>    <span>print(seconds)
</span>    time_module<span>.sleep(2)</span>

Berikut adalah output kod di atas:

<span>import time as time_module
</span>
time_in_seconds <span>= time_module.time()
</span><span>print("Time in sceconds from epoch", time_in_seconds)</span>

Contoh: Dapatkan tarikh dan masa tempatan semasa

Untuk mendapatkan tarikh dan masa tempatan semasa, gunakan kaedah sekarang () kelas DateTime:

Time <span>in sceconds from epoch 1680712853.0801558</span>

Berikut adalah output kod di atas:

<span>import time as time_module
</span>
utc_time_in_seconds <span>= time_module.gmtime()
</span><span>print("Time struct in UTC", utc_time_in_seconds)</span>

Contoh: Buat masa tarikh dari format ISO

Untuk membuat objek DateTime dari rentetan masa tarikh dalam format ISO 8601, gunakan kaedah FRARISOFORMAT () kelas DateTime:

Time struct <span>in UTC: time.struct_time(tm_year=2023, tm_mon=3, tm_mday=16, tm_hour=14, tm_min=47, tm_sec=28, tm_wday=3, tm_yday=75, tm_isdst=0)</span>

NOTA: Jika argumen rentetan tarikh diluluskan ke dalam kaedah fromIsOformat () bukanlah rentetan format ISO yang sah, pengecualian ValueError dinaikkan. Output tarikh di sini agak serupa dengan hasil yang diperoleh dari datetime.now ().

Berikut adalah output kod di atas:

<span>import time as time_module
</span>
local_time <span>= time_module.localtime()
</span><span>print("Time struct in local time:", local_time)</span>
Contoh: Dapatkan atribut tarikh dan masa dari objek DateTime

Objek DateTime menawarkan atribut berikut: Tahun, Bulan, Hari, Jam, Minit, Kedua, Microsecond, Tzinfo dan Fold. Atribut boleh diakses seperti berikut:

Time struct <span>in local time: time.struct_time(tm_year=2023, tm_mon=4, tm_mday=20, tm_hour=15, tm_min=46, tm_sec=15, tm_wday=3, tm_yday=75, tm_isdst=0)</span>
Berikut adalah output kod di atas:

<span>import time as time_module
</span>
time_in_secs <span>= 1678671984.939945  
</span>
time_string <span>= time_module.ctime(time_in_secs)
</span><span>print("Time string: ",time_string)</span>

NOTA: Nilai atribut lalai untuk tzinfo tidak ada, kerana tidak ada argumen objek yang diluluskan, dan lipatan akan kembali 0 secara lalai. Untuk lebih lanjut mengenai atribut lipatan (yang diperkenalkan dalam versi Python 3.6), lihat dokumen.

Kelas Timedelta

Objek Timedelta mewakili tempoh, perbezaan antara dua tarikh atau masa.

Objek Timedelta dapat diterapkan seperti berikut:

Time string: Thu Apr <span>20 01:46:24 2023</span>
Semua argumen adalah pilihan, dengan nilai lalai 0. Integer atau terapung, nombor positif atau negatif adalah argumen yang sah untuk pembina.

argumen ditukar seperti berikut:

    Millisecond ditukar kepada 1000 mikroseconds.
  • seminit ditukar kepada 60 saat.
  • sejam ditukar kepada 3600 saat.
  • seminggu ditukar kepada 7 hari.
semua argumen harus termasuk dalam julat berikut seperti yang dinyatakan dalam dokumen:

    0 0 -9999999999
Overflowerror dinaikkan jika argumen berada di luar julat hari yang dinormalisasi.

Contoh: Buat objek timedelta

Untuk membuat objek Timedelta, import kelas Timedelta dari modul DateTime. Lulus hujah yang sesuai kepada fungsi pembina:

<span>import time as time_module
</span>
time_tuple <span>= time_module.gmtime()
</span>time_format <span>= "%y/%m/%d %I:%M:%S %p"
</span>
time_in_string <span>= time_module.strftime(time_format, time_tuple)
</span>
<span>print("Time expressed as formatted string:", time_in_string)</span>
Berikut adalah output kod di atas:

Time expressed as formatted string: <span>23/04/20 04:40:04 PM</span>
python Formatting DateTime

Format tarikh dan masa berbeza dari rantau ke rantau dan negara ke negara. Ini kerana perbezaan ini dalam format tarikh dan masa bahawa format ISO 8601 diperkenalkan, sebagai cara untuk menyeragamkan tarikh dan masa. Walau bagaimanapun, mungkin ada keperluan untuk memformat tarikh dan masa dengan cara tertentu berdasarkan negara atau rantau.

memformat datetime dengan kaedah strftime ()

pemformatan DateTime boleh dilakukan dengan kaedah strftime (). Kaedah strftime () adalah kaedah contoh masa, tarikh dan kelas datetime, yang bermaksud kita perlu membuat objek tarikh, masa atau datetime untuk menggunakan kaedah tersebut. Kaedah ini mengambil kod format yang diberikan sebagai hujah, dan mengembalikan rentetan masa, tarikh atau masa dari dalam format yang dikehendaki.

Tandatangan kaedah kelihatan seperti ini:

<span>import time as time_module
</span>
time_in_seconds <span>= time_module.time()
</span><span>print("Time in sceconds from epoch", time_in_seconds)</span>

Biasanya kod format rentetan diluluskan sebagai argumen kepada kaedah strftime () untuk format tarikh. Beberapa kod format adalah seperti berikut:

  • %A: Nama Singkat Hari Minggu - seperti Sun, Mon, dan lain -lain
  • %b: Bulan sebagai nama disingkat - seperti Jan, Feb, dan lain -lain
  • %y: tahun tanpa abad sebagai nombor perpuluhan sifar-seperti 00, 01, 02, dan lain-lain

Jadual yang lebih terperinci dengan kod format boleh didapati di Dokumen Python.

Contoh: Tarikh dan masa format dalam objek DateTime

Sama seperti dalam contoh sebelumnya, kita boleh lulus argumen rentetan format tarikh dan output masa yang dikehendaki ke kaedah strftime ():

Time <span>in sceconds from epoch 1680712853.0801558</span>

Berikut adalah output kod di atas:

<span>import time as time_module
</span>
utc_time_in_seconds <span>= time_module.gmtime()
</span><span>print("Time struct in UTC", utc_time_in_seconds)</span>

memformat datetime dengan kaedah strpTime ()

Tidak seperti strftime (), strptime () adalah kaedah kelas datetime, yang bermaksud ia boleh digunakan tanpa membuat objek kelas. Kaedah mengembalikan objek DateTime dari rentetan dan format tarikh tertentu.

Tandatangan kaedah kelihatan seperti ini:

Time struct <span>in UTC: time.struct_time(tm_year=2023, tm_mon=3, tm_mday=16, tm_hour=14, tm_min=47, tm_sec=28, tm_wday=3, tm_yday=75, tm_isdst=0)</span>

kod format rentetan diluluskan sebagai argumen kepada kaedah strpTime () untuk format tarikh.

Contoh: String ke objek DateTime

Untuk membuat objek DateTime, kami akan lulus dua argumen ke kaedah strptime (), rentetan tarikh dan format yang sepadan. A ValueError dinaikkan apabila rentetan tarikh tidak sepadan dengan format yang disediakan:

<span>import time as time_module
</span>
local_time <span>= time_module.localtime()
</span><span>print("Time struct in local time:", local_time)</span>

Berikut adalah output kod di atas:

Time struct <span>in local time: time.struct_time(tm_year=2023, tm_mon=4, tm_mday=20, tm_hour=15, tm_min=46, tm_sec=15, tm_wday=3, tm_yday=75, tm_isdst=0)</span>

Bekerja dengan Timedelta

Kelas Timedelta dalam Python digunakan untuk mengira perbezaan antara tarikh, mengira perbezaan masa antara tarikh tertentu, dan juga melakukan pengiraan lain menggunakan unit masa tertentu (seperti minggu atau jam).

Contoh: Kirakan tarikh masa depan

<span>import time as time_module
</span>
time_in_secs <span>= 1678671984.939945  
</span>
time_string <span>= time_module.ctime(time_in_secs)
</span><span>print("Time string: ",time_string)</span>

Berikut adalah output kod di atas:

Time string: Thu Apr <span>20 01:46:24 2023</span>

Dari contoh di atas, kita mula -mula mendapat tarikh dan masa tempatan semasa dan objek timedelta tujuh hari. Kerana Timedelta menyokong operasi seperti tambahan, kami menambah objek DateTime dan objek Timedelta untuk mendapatkan hari masa depan dalam tujuh hari. Jika tarikh semasa kami ialah 2023-04-20, dalam tujuh hari tarikhnya akan menjadi 2023-04-27.

Contoh: Kirakan perbezaan antara dua objek timedelta

<span>import time as time_module
</span>
time_tuple <span>= time_module.gmtime()
</span>time_format <span>= "%y/%m/%d %I:%M:%S %p"
</span>
time_in_string <span>= time_module.strftime(time_format, time_tuple)
</span>
<span>print("Time expressed as formatted string:", time_in_string)</span>

Berikut adalah output kod di atas:

<span>import time as time_module
</span>
time_in_seconds <span>= time_module.time()
</span><span>print("Time in sceconds from epoch", time_in_seconds)</span>

Dalam coretan kod di atas, kami telah mencipta dua objek Timedelta, time_delta1 dan time_delta2, dan mengira perbezaan di antara mereka.

Contoh: Kirakan jumlah dua objek timedelta

Time <span>in sceconds from epoch 1680712853.0801558</span>

Berikut adalah output kod di atas:

<span>import time as time_module
</span>
utc_time_in_seconds <span>= time_module.gmtime()
</span><span>print("Time struct in UTC", utc_time_in_seconds)</span>

Seperti yang dilihat di atas, objek Timedelta menyokong operasi tambahan, dan hasilnya adalah output ke konsol. Objek Objek Timedelta menyokong operasi seperti penolakan, pendaraban, dan pembahagian.

Bekerja dengan Timezones

Penggunaan zon waktu diperlukan jika kita ingin membuat objek tarikh dan masa yang sedar. Objek masa atau tarikh yang sedar termasuk maklumat mengenai zon waktu. Ia juga penting untuk memaparkan objek masa atau tarikh berhubung dengan rantau tertentu.

ZoneInfo adalah modul Python terbina dalam untuk bekerja dengan zon waktu.

Contoh: Buat objek DateTime dengan maklumat zon waktu

Time struct <span>in UTC: time.struct_time(tm_year=2023, tm_mon=3, tm_mday=16, tm_hour=14, tm_min=47, tm_sec=28, tm_wday=3, tm_yday=75, tm_isdst=0)</span>

Berikut adalah output untuk kod di atas:

<span>import time as time_module
</span>
local_time <span>= time_module.localtime()
</span><span>print("Time struct in local time:", local_time)</span>

Pertama, kami mengimport kelas DateTime dari Modul DateTime dan ZoneInfo dari modul ZoneInfo. Kami membuat objek ZoneInfo dan kemudian objek DateTime, tetapi kali ini kami lulus objek zon TZ ke kaedah sekarang ().

Apabila kita menyemak nilai atribut tzinfo, ia mengembalikan nama zon waktu Afrika/accra, tidak ada.

Contoh: Tukar objek DateTime dari satu zon waktu ke yang lain

Time struct <span>in local time: time.struct_time(tm_year=2023, tm_mon=4, tm_mday=20, tm_hour=15, tm_min=46, tm_sec=15, tm_wday=3, tm_yday=75, tm_isdst=0)</span>

Berikut adalah output kod di atas:

<span>import time as time_module
</span>
time_in_secs <span>= 1678671984.939945  
</span>
time_string <span>= time_module.ctime(time_in_secs)
</span><span>print("Time string: ",time_string)</span>

Untuk menukar antara zon waktu, kami menggunakan kaedah astimezone () objek DateTime, melewati objek zon waktu baru. AstimeZone () mengembalikan objek DateTime baru dengan maklumat zon waktu yang dikemas kini.

Kesimpulan

Menjejaki masa adalah aspek penting dalam kehidupan seharian kita, dan ini juga diterjemahkan ke dalam pengaturcaraan. Apabila kita membina projek dunia nyata, selalu ada keperluan untuk menyimpan log masa untuk aktiviti pengguna seperti log masuk dan mendaftar keluar, antara kes penggunaan lain. Ia juga penting untuk meletakkan setem masa pada kandungan yang dijana dalam talian dan memaparkan masa dan tarikh mengikut rantau pengguna atau zon waktu.

Untuk menguruskan masa dan tarikh yang lebih baik dalam program atau aplikasi kami, Python menyediakan modul masa dan datetime. Modul-modul ini mempunyai fungsi, kelas dan kaedah untuk menguruskan tugas yang berkaitan dengan masa. Dalam artikel ini, kami telah menyerlahkan beberapa fungsi dan kaedah yang biasa digunakan, memberikan contoh bagaimana mereka boleh digunakan.

Kod untuk tutorial ini boleh didapati di GitHub .

Soalan Lazim (Soalan Lazim) Mengenai Tarikh dan Masa Python

bagaimana saya boleh menukar rentetan ke tarikh dalam python?

Dalam python, anda boleh menukar rentetan ke tarikh menggunakan fungsi strptime modul DateTime. Fungsi ini mengambil dua argumen: rentetan yang anda mahu tukar dan kod format yang sepadan dengan format tarikh rentetan. Sebagai contoh, jika anda mempunyai rentetan tarikh "2022-03-01" dalam format "YYYY-MM-DD", anda boleh menukarnya ke tarikh seperti ini:

dari DateTime Import DateTime
date_string = "2022-03-01"
date_object = datetime.strptime (date_string, "%y-%m-%d")

Bagaimana saya boleh mendapatkan tarikh dan masa semasa di python? 🎜>

Modul DateTime Python menyediakan fungsi DateTime.Now (), yang mengembalikan tarikh dan masa semasa. Berikut adalah cara anda boleh menggunakannya:


dari DateTime Import DateTime
current_datetime = datetime.now ()
cetak (current_datetime)

Bagaimana saya boleh memformat tarikh di python?

Modul DateTime Python menyediakan fungsi strftime (), yang boleh anda gunakan untuk memformat tarikh. Fungsi ini mengambil kod format sebagai hujah dan mengembalikan rentetan yang mewakili tarikh dalam format yang ditentukan. Sebagai contoh, untuk memformat tarikh dalam format "YYYY-MM-DD", anda boleh melakukan ini:


dari DateTime Import DateTime
current_datetime = datetime.now ()
formatted_date = current_datetime. strftime ("%y-%m-%d")
cetak (formatted_date)

Bagaimana saya boleh menambah atau menolak hari dari tarikh dalam python? Kelas Timedelta, yang boleh anda gunakan untuk menambah atau menolak beberapa hari dari tarikh. Berikut adalah cara anda boleh menggunakannya:

dari datetime import datetime, timedelta

current_date = datetime.now ()
new_date = current_date timedelta (hari = 5)
cetak (new_date)

Bagaimana saya boleh membandingkan dua tarikh dalam python?

Dalam python, anda boleh membandingkan dua tarikh menggunakan pengendali perbandingan seperti , ==,! =, =. Berikut adalah contoh:

dari DateTime Import DateTime

date1 = DateTime (2022, 3, 1)
date2 = DateTime (2022, 4, 1)
jika tarikh1 cetak ("Date1 lebih awal daripada Date2")

bagaimana saya boleh mendapatkan hari dalam seminggu di python? Minggu sebagai integer (di mana hari Isnin adalah 0 dan Ahad adalah 6). Berikut adalah cara anda boleh menggunakannya:

dari DateTime import datetime

current_date = datetime.now ()

day_of_week = current_date.weekday ()

cetak (day_of_week) Bagaimanakah saya boleh menukar tarikh ke timestamp di Python? Berikut adalah contoh:

dari DateTime Import DateTime
current_date = datetime.now ()
timestamp = current_date.timestamp ()
cetak (timestamp)

bagaimana saya boleh menghuraikan tarikh dari rentetan dalam python?

Modul DateUtil Python menyediakan fungsi parser.parse (), yang boleh menghuraikan tarikh dari rentetan. Berikut adalah cara anda boleh menggunakannya:

dari dateUtil import parser
date_string = "2022-03-01"
date_object = parser.parse (date_string)
cetak (date_object)

bagaimana saya boleh mendapatkan masa semasa dalam python?

modul DateTime Python menyediakan fungsi DateTime.Now (), yang mengembalikan tarikh dan masa semasa. Jika anda hanya mahu masa, anda boleh menggunakan fungsi masa () seperti ini:


dari DateTime Import DateTime
current_time = datetime.now (). Time ()
cetak (current_time)

Bagaimana saya boleh menukar cap waktu ke tarikh dalam python? Berikut adalah contoh:

dari DateTime Import DateTime

timestamp = 1646332800
date_object = datetime.fromtimestamp (timestamp)
cetak (date_object)

Atas ialah kandungan terperinci Memahami tarikh dan masa python, dengan contoh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn