Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

Python当打之年
Python当打之年ke hadapan
2023-08-11 16:12:59557semak imbas

Dalam kehidupan dan pekerjaan, setiap daripada kita berurusan dengan masa setiap hari:

  • Bila anda bangun pagi?

  • Berapa minit masa yang diambil untuk kereta bawah tanah tiba?

  • Bilakah waktu rehat makan tengah hari bermula pada tengah hari?

  • Apakah hari dalam minggu esok?

  • Dah 2 bulan lepas beli baju?

  • Bos saya meminta saya menambah fungsi tugas berjadual pada kod, apakah yang perlu saya lakukan?

Situasi yang berbeza akan menghadapi isu masa yang berbeza: Titik masa tertentu, selang masa, hari dalam seminggu, dll. Kami bertembung dengan masa sepanjang masa. Artikel ini akan menggunakan Python untuk menerangkan kelas berkaitan masa, kaedah dan sifatnya secara terperinci

Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

1. Cap masa

1.1 Pengenalan kepada setem masa

. Sebelum itu, kita mesti ada konsep dulu: Timestampunix. Artikel ini secara khusus merujuk kepada

cap masa. 🎜

Timestamp Timestamp merujuk kepada menambah teks pengenalan, seperti masa atau tarikh, dsb., pada siri data untuk memastikan urutan kemas kini data setempat konsisten dengan yang jauh.

unixCamp masa ialah bilangan saat yang telah berlalu sejak 1 Januari 1970 (UTC/GMT tengah malam), tanpa mengira saat lompat. 1970-01-01 selalunya masa yang kita dapat selepas menukar cap waktu kosong apabila masa dalam MySQL kosong. Satu jam dinyatakan sebagai cap masa UNIX dalam format: 3600 saat; satu hari dinyatakan sebagai cap masa UNIX sebanyak 86400 saat, dan saat lompat tidak dikira. Jadual perbandingan khusus adalah seperti berikut: unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。1970-01-01就是经常我们在MySQL中时间为空的时候,转化空的时间戳之后得到的时间。一个小时表示为UNIX时间戳格式为:3600秒;一天表示为UNIX时间戳为86400秒,闰秒不计算。具体的对照表如下:

Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

1.2时间戳转化网站

下面介绍几个时间戳和具体时间之间相互转化的网站:

1、站长工具:https://tool.chinaz.com/tools/unixtime.aspx

2、在线工具:https://tool.lu/timestamp/

3、Json在线解析:https://www.sojson.com/unixtime.html

4、Unix时间戳在线转换(菜鸟工具):https://c.runoob.com/front-end/852

5、北京时间(时间与时间戳互换工具):http://www.beijing-time.org/shijianchuo/

介绍完时间戳的基本知识,下面重点讲解3个与时间和日期相关的Python库:

  • calendar

  • time

  • datetime

2.calendar

calendar

Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

tapak web penukaran🜎

Berikut memperkenalkan beberapa cara untuk menukar antara cap masa dan masa tertentu Laman web: Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)
1. Alat Webmaster: https://tool.chinaz.com/tools/unixtime.aspx

2. https://tool.lu/timestamp/🎜🎜3 ://www.sojson.com/unixtime.html🎜🎜4. Penukaran dalam talian cap waktu Unix (alat baru): https://c.runoob.com/front-end/852🎜🎜5 alat pertukaran): http://www.beijing-time.org/shijianchuo/🎜🎜Selepas memperkenalkan pengetahuan asas cap waktu, mari fokus pada tiga perpustakaan Python yang berkaitan dengan masa dan tarikh: 🎜
  • 🎜calendar🎜🎜

  • 🎜masa🎜🎜

  • 🎜datetime🎜🎜 li>

2.calendar🎜 🎜

🎜kalendarmaksud Cina ialah "kalendar", jadi sebenarnya, ia adalah sesuai untuk tarikh terutama dalam bentuk kalendar. 🎜🎜🎜2.1 kandungan modul🎜🎜🎜🎜🎜🎜Berikut ialah contoh:🎜

2.2kalendar

Kami memaparkan kalendar 2020 yang akan datang, menggunakan parameter lalai:

import calendar
year = calendar.calendar(2020)
print(year)

Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

Tukar parameter dan paparkannya semula:


Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)
Kami menemui The keseluruhan kalendar berubah Ia lebih luas, dan minggu juga dipaparkan dalam bahasa Inggeris dengan 3 huruf Sila jelaskan maksud tiga parameter:

  • c: Jarak selang bulanan

  • w: Selang lebar harian w. . 2.3isleap(year)

  • Fungsi fungsi ini adalah untuk
  • menentukan sama ada tahun tertentu adalah tahun lompat

    . Jika ya, ia mengembalikan Benar, jika tidak ia mengembalikan Salah.

    Tahun biasa boleh dibahagikan dengan 4, tetapi tidak boleh dibahagikan dengan 100, maka ia dipanggil tahun lompat biasa
Tahun dalam ratusan dan mesti dibahagikan dengan 400. Ia dipanggil tahun lompat abad

21*w+18+2*c

.

2.4leapdays (y1, y2)Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

Tentukan berapa tahun lompat antara dua tahun, termasuk y1, tetapi bukan y2, serupa dengan

dalam penghirisan Python, termasuk kepala tetapi bukan ekor

Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

2.5bulan(tahun,bulan,w=2,l=1)

Fungsi ini mengembalikan tahuntahunbulanKalendar bulanan hanya mempunyai dua baris tajuk, satu untuk setiap minggu. Lebar selang harian ialah w aksara dan panjang setiap baris ialah 7*w + 6, dengan l ialah bilangan baris setiap mingguyear年的month月的日历,只有两行标题,一周一行。每日间隔宽度为w个字符,每行的长度为7*w + 6,其中l是每星期的行数

首先看看默认效果;

Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

接下来我们改变w和l两个参数:

1、改变w,我们发现星期的表示变成了3个字母;同时每天之间的间隔变宽了(左右间隔)

Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

2、改变参数l

Lihat dahulu Lihat pada kesan lalai; l Parameter:
Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)1 Tukar w, kita dapati bahawa perwakilan minggu telah menjadi 3 huruf; pada masa yang sama, selang antara setiap hari telah menjadi lebih luas (selang kiri dan kanan)

Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap) parameterl, kita dapati selang waktu (atas dan bawah) sebelum setiap minggu menjadi lebih luas

    2.6bulan kalendar(tahun,bulan)
  • mengembalikan tahun dalam bentuk Kalendar senarai bulan, dalam senarai atau dalam bentuk senarai. Setiap subsenarai adalah selama seminggu. Jika tiada tarikh bulan ini, ia diwakili oleh 0

    . Setiap subsenarai bermula dari 1 hari minggu, dan ciri-ciri diringkaskan seperti berikut:
  • Setiap subsenarai mewakili seminggu

Dari Isnin hingga Ahad, tarikh yang tidak muncul dalam bulan ini digantikan dengan 0 Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

Mari ambil Disember 2020 sebagai contoh:

🎜🎜Berbanding dengan kalendar di atas, kami mendapati bahawa: 🎜Kedudukan di mana 0 muncul tidak muncul pada bulan Disember🎜🎜🎜 Cari Kalendar🎜🎜 2020: 🎜. minggu yang bulan itu bermula; Ditetapkan bahawa 6 mewakili Ahad, dan nilainya ialah 0-6
Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

Nilai b mewakili jumlah hari dalam bulan

(a,b)

    Mari kita jelaskan melalui contoh , mari kita ambil Disember 2020 sebagai contoh:
  • 1 dalam keputusan bermakna Disember bermula pada 2 hari minggu (0-6, 6 mewakili Ahad), dan bulan itu mempunyai jumlah 31 hari
  • 2.8weekday(y,m,d)

    Kaedah hari bekerja adalah dengan memasukkan tahun, bulan dan hari, Kita boleh tahu hari dalam minggu itu
  • Nilai pulangan ialah 0-6, 0 mewakili hari Isnin, 6 mewakili Ahad

Mari kita jelaskan melalui contoh, mengambil 12 Disember sebagai contoh:
Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

Double 12 Ia adalah hari Sabtu, dan keputusan yang dikembalikan ialah 5. 5 mewakili hari Sabtu, yang hanya sepadan.

3.Time

Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)
Modul masa adalah modul yang paling biasa digunakan untuk fungsi masa. kaedah di bawah.

3.1 Kandungan modul

Mari kita lihat secara keseluruhan penggunaan modul

Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

3.2kali

time.time() ialah untuk mendapatkan masa semasa. Secara lebih tegas, ia adalah untuk mendapatkanCop masa masa semasa. time.time()是获取当前的时间,更加严格地说,是获取当前时间的时间戳

再次理解时间戳:它是以1970年1月1日0时0份0秒为计时起点,计算到当前的时间长度(不考虑闰秒)

Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

3.3localtime

time.localtime打印当前的时间,得到的结果是时间元组,具体含义:

笔记:结果是时间元组

Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

time.localtime的参数默认是time.time()

Fahami cap masa sekali lagi: ia adalah berdasarkan 0:00:00 pada 1 Januari 1970 sebagai titik permulaan, dan dikira mengikut tempoh masa semasa (tidak mengambil kira saat lompat)

  • 3.3localtime

    gaya kod tempatan
  • ;line- height: inherit; padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;color: rgb(233, 105, 0);background: rgb(248, 248, 248 );" >time.localtime diperoleh dengan mencetak masa semasa strong> Hasilnya ialah time tuple, dengan maksud khusus:

    Nota: Keputusan Ia adalah tuple masa

    Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)Parameter lalai time.localtime ialah time.time() cap waktu , anda boleh memasukkannya sendiri Cap masa tertentu untuk mendapatkan masa yang sepadan🎜🎜🎜🎜Stem masa semasa lalai🎜🎜🎜🎜🎜🎜Nyatakan cap masa🎜🎜
Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

3.4gmtime

localtime()Hasilnya ialahMasa tempatan, jika pengantarabangsaan diperlukan, gunakan gmtime() , sebaiknya gunakan Greenwich Mean Time. localtime()得到的是本地时间,如果需要国际化,使用gmtime(),最好是使用格林威治时间。

格林威治标准时间:位于英国伦敦郊区的皇家格林威治天文台的标准时间,本初子午线经过那里。

Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

3.5asctime

time.asctime的参数为空时,默认是以time.localtime的值为参数,得到当前的日期、时间、星期;另外,我们也可以自己设置参数,参数是时间元组

  • 使用当前时间的默认时间元组localtime

  • 自己指定一个时间元组

Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

获取当前时间的具体时间和日期:

Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

3.6ctime

ctime

Masa Purata Greenwich: Waktu standard di Balai Cerap Diraja Greenwich di pinggir bandar London, England, di mana Perdana Meridian berlalu. 🎜🎜Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)🎜🎜🎜3.5asc🎜 gaya fon🎜 saiz: inherit;line-height: inherit; padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;color: rgb(233, 105, 0);background: rgb(248, 248, 248);">Apabila parameter time.asctime kosong, lalai ialahAmbil nilai time.localtime sebagai parameter untuk mendapatkan tarikh, masa dan minggu semasa; selain itu, kami juga boleh menetapkan parameter itu sendiri, Parameter ialah tuple masa🎜
  • 🎜Gunakan lalai masa semasa Time tuple localtime🎜🎜🎜

  • 🎜Nyatakan a time tuple yourself masa semasa: 🎜🎜Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)🎜🎜🎜🎜🎜🎜🎜 style="max-width:90%">ctimeparameter lalai kepada cap masa; jika tidak, anda juga boleh menentukan cap masa🎜

    Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

    3.7mktime

    mktime() juga mengambil masa tuple sebagai parameter dan ia mengembalikan cap masa, Bersamaan denganbalikan masa tempatan Proses : mktime()也是以时间元组为参数的,它返回的是时间戳,相当于是localtime的逆向过程

    Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

    3.8strftime

    strftime()是按照我们指定的格式将时间元组转化为字符串;如果不指定时间元组,默认是当前时间localtime()。常用到的时间格式见下表:

    Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

    我们举例说明:

    • 字符串中的分隔符我们可以任意指定

    • 可以同时显示年月日时分秒等

    Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

    3.9strptime

    strptime()

    Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap).
    • kod stf style="font-size: inherit;line-height: inherit;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;color: rgb(233, 105, 0); latar belakang : rgb(248, 248, 248);">strftime()ada dalam format yang kami tetapkanTukar tuple masa kepada rentetan; jika tiada tuple masa ditentukan, lalai ialah masa semasawaktu setempat(). Format masa yang biasa digunakan ditunjukkan dalam jadual di bawah:

      Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)
    • berikan contoh:
    • Kita boleh menentukan pembatas dalam rentetan sewenang-wenangnya🎜🎜🎜🎜🎜🎜 boleh memaparkan tahun, bulan, hari, jam, minit, saat, dan lain-lain pada masa yang sama🎜🎜🎜 ul>🎜Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)🎜🎜🎜 gaya fon 3.9🎜 -size: inherit;line-height: inherit;padding: 2px 4px ;border-radius: 4px;margin-right: 2px;margin-left: 2px;color: rgb(233, 105, 0);background: rgb(248 , 248, 248);">strptime() Ia adalah untuk menukar rentetan kepada tuple masa. Apa yang perlu kita beri perhatian khusus ialah ia mempunyai dua parameter: 🎜🎜🎜🎜🎜Rentetan yang akan converted🎜🎜🎜🎜🎜🎜Format yang sepadan dengan rentetan masa, formatnya ialah 🎜🎜 yang disebutkan dalam jadual. margin-left: 2px;color: rgb(233, 105, 0);background: rgb(248, 248, 248);">modul masa sudah boleh menyelesaikan banyak masalah, tetapi dalam keperluan kerja dan perniagaan sebenar Kami memerlukan lebih banyak alatan untuk menjadikan kita lebih senang dan lebih pantas untuk digunakan, datetime ialah salah satu modul yang sangat berguna. Beberapa kelas yang biasa digunakan dalam modul datetime adalah seperti berikut:
      • tarikh: Kelas tarikh, atribut biasa: tahun/bulan/hari
    • masa: Kelas masa, atribut yang biasa digunakan: <code style="font-size: inherit;line-height: inherit;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left : 2px; warna: rgb(233, 105, 0);latar belakang: rgb(248, 248, 248);">jam/minit/saat/mikrosaatRingkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

    • masa tarikh: kelas tarikh dan masa

      delta masa: selang masa , iaitu, tempoh masa antara dua titik masa

    • tzinfo: kelas zon masa

    4.1模块内容

    Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

    Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)


    4.2date

    首先我们引入date类,并创建一个日期对象:

    Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

    1、然后我们可以操作这个日期对象的各种属性:后面加上()

    print("当前日期:",today)  # 当前日期
    print("当前日期(字符串):",today.ctime())   # 返回日期的字符串
    print("时间元组信息:",today.timetuple())   # 当前日期的时间元组信息
    print("年:",today.year)   # 返回today对象的年份
    print("月:",today.month)  # 返回today对象的月份
    print("日:",today.day)   # 返回today对象的日
    print("星期:",today.weekday())  # 0代表星期一,类推
    print("公历序数:",today.toordinal())  # 返回公历日期的序数
    print("年/周数/星期:",today.isocalendar())   # 返回一个元组:一年中的第几周,星期几
    
    # 结果显示
    当前日期: 2020-12-25
    当前日期(字符串):Fri Dec 25 00:00:00 2020
    时间元组信息:time.struct_time(tm_year=2020, tm_mon=12, tm_mday=25, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=360, tm_isdst=-1)
    年: 2020
    月: 12
    日: 25
    星期: 4
    公历序数: 737784
    年/周数/星期: (2020, 52, 5)

    2、date类中时间和时间戳的转换:

    Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

    具体时间的时间戳转成日期:

    Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

    3、格式化时间相关,格式参照time模块中的strftime方法

    from datetime import datetime, date, time
    today = date.today()
    
    print(today)
    # 2020-12-26  默认连接符号是-
    
    print(today.strftime("%Y/%m/%d"))  # 指定连接符
    # 2020/12/26
    
    print(today.strftime("%Y:%m:%d"))
    # 2020:12:26
    
    print(today.strftime("%Y/%m/%d %H:%M:%S"))  # 转化为具体的时间
    # 2020/12/26 00:00:00

    4、修改日期使用replace方法

    Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

    4.3time

    time类也是要生成time对象,包含hour、minute、second、microsecond,我们还是通过例子来学习:

    from datetime import time
    
    t = time(10,20,30,40)
    print(t.hour)  # 时分秒
    print(t.minute)
    print(t.second)
    print(t.microsecond)  # 微秒
    
    # 结果
    10
    20
    30
    40

    4.4datetime

    datetime类包含date类和time类的全部信息,下面?是类方法相关的:

    from  datetime import datetime
    
    print(datetime.today())
    print(datetime.now())
    print(datetime.utcnow())# 返回当前UTC日期和时间的datetime对象
    print(datetime.fromtimestamp(1697302830))  # 时间戳的datetime对象
    print(datetime.fromordinal(699000) )
    print(datetime.combine(date(2020,12,25), time(11,22,54)))  # 拼接日期和时间
    print(datetime.strptime("2020-12-25","%Y-%m-%d"))
    
    # 结果
    2020-12-25 23:24:42.481845
    2020-12-25 23:24:42.482056
    2020-12-25 15:24:42.482140
    2023-10-15 01:00:30
    1914-10-19 00:00:00
    2020-12-25 11:22:54
    2020-12-25 00:00:00

    再看看相关对象和属性相关:

    from datetime import datetime 
    
    d = datetime(2020,12,25,11,24,23)
    
    print(d.date())
    print(d.time())
    print(d.timetz())  # 从datetime中拆分出具体时区属性的time
    print(d.replace(year=2021,month=1))  # 替换
    print(d.timetuple())  # 时间元组
    print(d.toordinal())  # 和date.toordinal一样
    print(d.weekday())
    print(d.isoweekday())
    print(d.isocalendar())
    print(d.isoformat())
    print(d.strftime("%Y-%m-%d :%H:%M:%S"))
    
    # 结果
    2020-12-25
    11:24:23
    11:24:23
    2021-01-25 11:24:23
    time.struct_time(tm_year=2020, tm_mon=12, tm_mday=25, tm_hour=11, tm_min=24, tm_sec=23, tm_wday=4, tm_yday=360, tm_isdst=-1)
    737784
    4
    5
    (2020, 52, 5)
    2020-12-25T11:24:23
    2020-12-25 :11:24:23

    4.5timedelta

    timedelta对象表示的是一个时间段,即两个日期date或者日期时间datetime之间的差;支持参数:weeks、days、hours、minutes、seconds、milliseconds、microseconds

    Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

    Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

    4.6tzinfo

    本地时间指的是我们系统本身设定时区的时间,例如中国处于北京时间,常说的东八区UTC+8:00datetime类有一个时区属性tzinfo

    tzinfo是一个关于时区信息的类,是一个抽象的基类,不能直接被实例化来使用。它的默认值是None,无法区分具体是哪个时区,需要我们强制指定一个之后才能使用。

    Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

    因为本身系统的时区刚好在中国处于东八区,所以上述代码是能够正常运行的,结果也是OK的。那如果我们想切换到其他时区的时间,该如何操作呢?这个时候我们需要进行时区的切换。

    1、我们先通过utcnow()获取到当前的UTC时间

    utc_now = datetime.utcnow().replace(tzinfo=timezone.utc)  # 指定utc时区
    print(utc_now)
    
    # 结果
    2020-12-26 01:36:33.975427+00:00

    2、通过astimezone()将时区指定为我们想转换的时区,比如东八区(北京时间):

    # 通过astimezone切换到东八区
    
    beijing = utc_now.astimezone(timezone(timedelta(hours=8)))
    print(beijing)
    
    # 结果
    2020-12-26 09:36:33.975427+08:00

    用同样的方法切到东九区,东京时间:

    # UTC时区切换到东九区:东京时间
    
    tokyo = utc_now.astimezone(timezone(timedelta(hours=9)))
    print(tokyo)
    
    # 结果
    2020-12-26 10:36:33.975427+09:00

    还可以直接从北京时间切换到东京时间

    # 北京时间(东八区)直接切换到东京时间(东九区)
    
    tokyo_new = beijing.astimezone(timezone(timedelta(hours=9)))
    print(tokyo_new)
    
    # 结果
    2020-12-26 10:36:33.975427+09:00

    Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

    5.常用时间转化

    下面介绍几个工作中用到的时间转化小技巧:

    1. 时间戳转日期

    2. 日期转时间戳

    3. 格式化时间

    4. 指定格式获取当前时间

    5.1时间戳转成日期

    时间戳转成具体时间,我们需要两个函数:

    • time.localtime:将时间戳转成时间元组形式

    • time.strftime:将时间元组数据转成我们需要的形式

    import time
    now_timestamp = time.time()  # 获取当前时间的时间戳
    
    # 时间戳先转成时间元组,strftime在转成指定格式
    now_tuple = time.localtime(now_timestamp)
    time.strftime("%Y/%m/%d %H:%M:%S", now_tuple)
    
    # 结果
    &#39;2020/12/26 11:19:01&#39;

    假设我们指定一个具体的时间戳来进行转换:

    import time
    timestamp = 1608852741  # 指定时间戳
    
    a = time.localtime(timestamp)  # 获得时间元组形式数据
    print("时间元组数据:",a)
    time.strftime("%Y/%m/%d %H:%M:%S", a)  # 格式化
    
    # 结果
    时间元组数据:time.struct_time(tm_year=2020, tm_mon=12, tm_mday=25, tm_hour=7, tm_min=32, tm_sec=21, tm_wday=4, tm_yday=360, tm_isdst=0)
    &#39;2020/12/25 07:32:21&#39;

    如果我们不想指定具体的格式,只想获取时间戳对应的时间,直接通过time.ctime即可:

    import time
    time.ctime(1608852741)
    
    # 结果
    &#39;Fri Dec 25 07:32:21 2020&#39;

    5.2日期时间转成时间戳

    日期时间转成时间戳格式,我们需要使用两个方法:

    • strptime():将时间转换成时间数组

    • mktime():将时间数组转换成时间戳

    通过具体的案例来学习一下:

    date = "2020-12-26 11:45:34"
    
    # 1、时间字符串转成时间数组形式
    date_array = time.strptime(date, "%Y-%m-%d %H:%M:%S")
    
    # 2、查看时间数组数据
    print("时间数组:", date_array)
    
    # 3、mktime时间数组转成时间戳
    time.mktime(date_array)
    
    # 结果
    时间数组:time.struct_time(tm_year=2020, tm_mon=12, tm_mday=26, tm_hour=11, tm_min=45, tm_sec=34, tm_wday=5, tm_yday=361, tm_isdst=-1)
    1608954334.0

    Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

    5.3格式化时间

    工作需求中有时候给定的时间格式未必是我们能够直接使用,所以可能需要进行格式的转换,需要使用两个方法:

    • strptime():将时间转换成时间数组

    • strftime():重新格式化时间

    通过案例来进行学习:

    import time
    
    old = "2020-12-12 12:28:45"
    
    # 1、转换成时间数组
    time_array = time.strptime(old, "%Y-%m-%d %H:%M:%S")
    
    # 2、转换成新的时间格式(20201212-20:28:54)
    new = time.strftime("%Y%m%d-%H:%M:%S",time_array)  # 指定显示格式
    
    print("原格式时间:",old)
    print("新格式时间:",new)
    
    # 结果
    原格式时间: 2020-12-12 12:28:45
    新格式时间: 20201212-12:28:45

    Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap)

    5.4指定格式获取当前时间

    为了能够获取到指定格式的当前时间,我们分为3个步骤:

    • time.time():获取当前时间

    • time.localtime():转成时间元组

    • time.strftime():重新格式化时间

    通过一个案例来学习:

    # 1、时间戳
    old_time = time.time()
    # 2、时间元组
    time_array = time.localtime(old_time)
    # 3、指定格式输出
    new_time = time.strftime("%Y/%m/%d %H:%M:%S", time_array)
    print(new_time)
    
    # 结果
    2020/12/26 11:56:08

    6.总结

    本文通过各种案例详细介绍了Python中关于时间输出和转化的3个模块:calendar、time、datetime,最后总结了4个工作中常用的时间转化技巧,希望对大家掌握Python中的时间输出和转化有所帮助,不再被时间困扰。

Atas ialah kandungan terperinci Ringkasan penukaran masa Python yang boleh anda pelajari sekali gus (sangat lengkap). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:Python当打之年. Jika ada pelanggaran, sila hubungi admin@php.cn Padam