最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python標(biāo)準(zhǔn)庫之日期、時(shí)間和日歷模塊

 更新時(shí)間:2022年05月28日 16:22:58   作者:springsnow  
這篇文章介紹了Python標(biāo)準(zhǔn)庫之日期、時(shí)間和日歷模塊,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、time時(shí)間模塊

import time

1 、時(shí)間戳:time.time()

時(shí)間戳(timestamp):時(shí)間戳表示的是從1970年1月1日00:00:00開始按秒計(jì)算的偏移量。

時(shí)間戳單位最適于做日期運(yùn)算。但是1970年之前的日期就無法以此表示了。太遙遠(yuǎn)的日期也不行,UNIX和Windows只支持到2038年。

time_stamp = time.time()
print(time_stamp, type(time_stamp))  # 1574923359.1739607 <class 'float'>

2、 格式化時(shí)間:time.strftime()

格式化的時(shí)間字符串(format string):格式化時(shí)間表示的是普通的字符串格式的時(shí)間。

format_time = time.strftime("%Y-%m-%d %X")
print(format_time, type(format_time)) #2019-03-07 16:22:11 <class 'str'>

# 格式化成2016-03-20 11:45:39形式
print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

python中時(shí)間日期格式化符號(hào):

  • %y 兩位數(shù)的年份表示(00-99)
  • %Y 四位數(shù)的年份表示(000-9999)
  • %m 月份(01-12)
  • %d 月內(nèi)中的一天(0-31)
  • %H 24小時(shí)制小時(shí)數(shù)(0-23)
  • %I 12小時(shí)制小時(shí)數(shù)(01-12)
  • %M 分鐘數(shù)(00=59)
  • %S 秒(00-59)
  • %a 本地簡(jiǎn)化星期名稱
  • %A 本地完整星期名稱
  • %b 本地簡(jiǎn)化的月份名稱
  • %B 本地完整的月份名稱
  • %c 本地相應(yīng)的日期表示和時(shí)間表示
  • %j 年內(nèi)的一天(001-366)
  • %p 本地A.M.或P.M.的等價(jià)符
  • %U 一年中的星期數(shù)(00-53)星期天為星期的開始
  • %w 星期(0-6),星期天為星期的開始
  • %W 一年中的星期數(shù)(00-53)星期一為星期的開始
  • %x 本地相應(yīng)的日期表示
  • %X 本地相應(yīng)的時(shí)間表示
  • %Z 當(dāng)前時(shí)區(qū)的名稱
  • %% %號(hào)本身

3 、結(jié)構(gòu)化時(shí)間:time.localtime()

結(jié)構(gòu)化的時(shí)間(struct time):struct_time元組共有9個(gè)元素共九個(gè)元素,分別為(年,月,日,時(shí),分,秒,一年中第幾周(0是周一),一年中第幾天,夏令時(shí))

# UTC時(shí)區(qū)的struct_time:
print(time.gmtime() )  # time.struct_time(tm_year=2019, tm_mon=11, tm_mday=28, tm_hour=6, tm_min=45, tm_sec=34, tm_wday=3, tm_yday=332, tm_isdst=0)

# 本地時(shí)區(qū)的struct_time: 
print( time.localtime() )  # time.struct_time(tm_year=2019, tm_mon=11, tm_mday=28, tm_hour=14, tm_min=45, tm_sec=34, tm_wday=3, tm_yday=332, tm_isdst=0)

#  獲取當(dāng)前時(shí)間
print( time.localtime(time.time())
# 結(jié)構(gòu)化時(shí)間的基準(zhǔn)時(shí)間
print(time.localtime(0) )  # time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)

# 結(jié)構(gòu)化時(shí)間的基準(zhǔn)時(shí)間上增加一年時(shí)間
print(time.localtime(3600 * 24 * 365) )  # time.struct_time(tm_year=1971, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=1, tm_isdst=0)

4、 不同格式時(shí)間的轉(zhuǎn)換

如上圖所示,我們總能通過某些方法在結(jié)構(gòu)化時(shí)間-格式化時(shí)間-時(shí)間戳三者之間進(jìn)行轉(zhuǎn)換,下面我們將用代碼展示如何通過這些方法轉(zhuǎn)換時(shí)間格式。

# 結(jié)構(gòu)化時(shí)間
now_time = time.localtime()
print(now_time)  # time.struct_time(tm_year=2019, tm_mon=11, tm_mday=28, tm_hour=14, tm_min=51, tm_sec=55, tm_wday=3, tm_yday=332, tm_isdst=0)

# 把結(jié)構(gòu)化時(shí)間轉(zhuǎn)換為時(shí)間戳格式
print(time.mktime(now_time))  # 1574923915.0

# 把結(jié)構(gòu)化時(shí)間轉(zhuǎn)換為格式化時(shí)間
# %Y年-%m月-%d天 %X時(shí)分秒=%H時(shí):%M分:%S秒
print(time.strftime("%Y-%m-%d %X", now_time) )  # 2019-11-28 14:51:55

# 把格式化時(shí)間化為結(jié)構(gòu)化時(shí)間,它和strftime()是逆操作
print(time.strptime('2013-05-20 13:14:52', '%Y-%m-%d %X') )  # time.struct_time(tm_year=2013, tm_mon=5, tm_mday=20, tm_hour=13, tm_min=14, tm_sec=52, tm_wday=0, tm_yday=140, tm_isdst=-1)

5、 其他用法

# 把結(jié)構(gòu)化時(shí)間表示為這種形式(24個(gè)字符的字符串):'Sun Jun 20 23:21:05 1993'。
print(time.asctime() )  # Thu Nov 28 14:51:55 2019

# 如果沒有參數(shù),默認(rèn)會(huì)將time.localtime()作為參數(shù)傳入。
print(time.asctime(time.localtime()) )  # Thu Nov 28 14:51:55 2019

# 把一個(gè)時(shí)間戳轉(zhuǎn)化為這種形式(24個(gè)字符的字符串):'Sun Jun 20 23:21:05 1993'。
print(time.ctime() )  # Thu Nov 28 14:51:55 2019

# 如果參數(shù)未給或者為None的時(shí)候,默認(rèn)會(huì)將time.time()為參數(shù)。它的作用相當(dāng)于time.asctime(time.localtime(secs))。
print(time.ctime(time.time()))  # Thu Nov 28 14:51:55 2019


# 推遲指定的時(shí)間運(yùn)行,單位為秒
start = time.time()
time.sleep(3)
end = time.time()

print(end-start) #3.0005428791046143


time.perf_counter()  # 返回系統(tǒng)運(yùn)行時(shí)間
time.process_time()  # 返回進(jìn)程運(yùn)行時(shí)間

二、datetime時(shí)間加減的模塊

datetime模塊可以看成是時(shí)間加減的模塊

import datetime

1、用法:

import datetime
import time

# 返回當(dāng)前時(shí)間
print(datetime.datetime.now() )  # 2019-11-28 15:02:23.138960
print(datetime.date.fromtimestamp(time.time()) )  # 2019-11-28

# 當(dāng)前時(shí)間+3天
print(datetime.datetime.now() + datetime.timedelta(3) )  # 2019-12-01 15:02:23.138960

# 當(dāng)前時(shí)間-3天
print(datetime.datetime.now() + datetime.timedelta(-3))  # 2019-11-25 15:02:23.138960
# 當(dāng)前時(shí)間-3小時(shí)
print(datetime.datetime.now() + datetime.timedelta(hours=3)  )  # 2019-11-28 18:02:23.138960
# 當(dāng)前時(shí)間+30分鐘
print(datetime.datetime.now() + datetime.timedelta(minutes=30) )  # 2019-11-28 15:32:23.138960

# 時(shí)間替換
c_time = datetime.datetime.now()
print(c_time.replace(minute=20, hour=5, second=13))  # 2019-11-28 05:20:13.138960

2、常用時(shí)間處理方法

  • 今天: today = datetime.date.today()
  • 昨天: yesterday = today - datetime.timedelta(days=1)
  • 上個(gè)月: last_month = today.month - 1 if today.month - 1 else 12
  • 當(dāng)前時(shí)間戳: time_stamp = time.time()
  • 時(shí)間戳轉(zhuǎn)datetime: datetime.datetime.fromtimestamp(time_stamp)
  • datetime轉(zhuǎn)時(shí)間戳: int(time.mktime(today.timetuple()))
  • datetime轉(zhuǎn)字符串: today_str = today.strftime("%Y-%m-%d")
  • 字符串轉(zhuǎn)datetime: today = datetime.datetime.strptime(today_str, "%Y-%m-%d")
  • 補(bǔ)時(shí)差: today + datetime.timedelta(hours=8)

三、Calendar日歷模塊

Calendar模塊有很廣泛的方法用來處理年歷和月歷,例如打印某月的月歷:

import calendar

cal = calendar.month(2016, 1)
print ("以下輸出2016年1月份的日歷:")
print (cal)

以上實(shí)例輸出結(jié)果:

以下輸出2016年1月份的日歷:
    January 2016
Mo Tu We Th Fr Sa Su
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

星期一是默認(rèn)的每周第一天,星期天是默認(rèn)的最后一天。更改設(shè)置需調(diào)用calendar.setfirstweekday()函數(shù)。

農(nóng)歷:

安裝方法:

pip install sxtwl

Windows下的二進(jìn)制安裝包:https://pan.baidu.com/s/1VR4MtPVV9iP9SSHNDjKZnQ#list/path=%2Fsxtwl

# 引入日歷庫模塊
import sxtwl

# 日歷中文索引
ymc = ["十一", "臘", "正", "二", "三", "四", "五", "六", "七", "八", "九", "十"]
rmc = ["初一", "初二", "初三", "初四", "初五", "初六", "初七", "初八", "初九", "初十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九",
       "二十", "廿一", "廿二", "廿三", "廿四", "廿五", "廿六", "廿七", "廿八", "廿九", "三十", "卅一"]
# 實(shí)例化日歷庫
lunar = sxtwl.Lunar()

# 陰歷轉(zhuǎn)陽歷
day = lunar.getDayByLunar(2030, 3, 27, False)  # 公元前的年可以用負(fù)數(shù)表示。比如公交前20年就用-20

print(u"公歷:", day.y, u"年", day.m, u"月", day.d, u"日")
if day.Lleap:
    print(u"陰歷:潤(rùn)", ymc[day.Lmc], u"月", rmc[day.Ldi], u"日")
else:
    print(u"陰歷:", ymc[day.Lmc], u"月", rmc[day.Ldi], u"日")

# 同理,陽歷轉(zhuǎn)陰歷
day = lunar.getDayBySolar(2018, 10, 20)

print(u"公歷:", day.y, u"年", day.m, u"月", day.d, u"日")
if day.Lleap:
    print(u"陰歷:潤(rùn)", ymc[day.Lmc], u"月", rmc[day.Ldi], u"日")
else:
    print(u"陰歷:", ymc[day.Lmc], u"月", rmc[day.Ldi], u"日")

更加詳細(xì)的使用方法請(qǐng)參考:

https://pypi.org/project/sxtwl/

到此這篇關(guān)于Python標(biāo)準(zhǔn)庫之日期、時(shí)間和日歷模塊的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python中jieba模塊的深入了解

    python中jieba模塊的深入了解

    這篇文章主要介紹了python中jieba模塊的深入了解,jieba模塊是一個(gè)python第三方中文分詞模塊,可以用于將語句中的中文詞語分離出來
    2022-06-06
  • Python內(nèi)置的字符串處理函數(shù)詳細(xì)整理(覆蓋日常所用)

    Python內(nèi)置的字符串處理函數(shù)詳細(xì)整理(覆蓋日常所用)

    Python內(nèi)置的字符串處理函數(shù)整理,有字母處理、格式化相關(guān)、字符串搜索相關(guān)、字符串替換相關(guān)等等
    2014-08-08
  • 一文詳解如何創(chuàng)建自己的Python裝飾器

    一文詳解如何創(chuàng)建自己的Python裝飾器

    python裝飾器在平常的python編程中用到的還是很多的,本篇文章中我們將來介紹一下python中最常使用的@staticmethod裝飾器的使用,感興趣的可以了解一下
    2022-09-09
  • 11個(gè)案例講透Python函數(shù)參數(shù)小結(jié)

    11個(gè)案例講透Python函數(shù)參數(shù)小結(jié)

    本文主要介紹了11個(gè)案例講透Python函數(shù)參數(shù)小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python實(shí)現(xiàn)結(jié)構(gòu)體代碼實(shí)例

    Python實(shí)現(xiàn)結(jié)構(gòu)體代碼實(shí)例

    這篇文章主要介紹了Python實(shí)現(xiàn)結(jié)構(gòu)體代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Python中常用文本數(shù)據(jù)格式轉(zhuǎn)換

    Python中常用文本數(shù)據(jù)格式轉(zhuǎn)換

    這篇文章主要為大家整理了一下Python中一些常用文本數(shù)據(jù)格式轉(zhuǎn)換,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的小伙伴可以參考一下
    2025-02-02
  • python自定義解析簡(jiǎn)單xml格式文件的方法

    python自定義解析簡(jiǎn)單xml格式文件的方法

    這篇文章主要介紹了python自定義解析簡(jiǎn)單xml格式文件的方法,涉及Python解析XML文件的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-05-05
  • 如何在代碼中安裝?Python?模塊

    如何在代碼中安裝?Python?模塊

    這篇文章主要介紹了如何在代碼中安裝Python模塊,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • pytorch cuda上tensor的定義 以及減少cpu的操作詳解

    pytorch cuda上tensor的定義 以及減少cpu的操作詳解

    這篇文章主要介紹了pytorch cuda上tensor的定義 以及減少cpu的操作詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python支持多線程的爬蟲實(shí)例

    python支持多線程的爬蟲實(shí)例

    今天小編就為大家分享一篇python支持多線程的爬蟲實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評(píng)論

济南市| 静宁县| 伽师县| 杭锦旗| 繁峙县| 沧州市| 湘乡市| 泸水县| 若尔盖县| 崇义县| 富顺县| 巢湖市| 隆安县| 晋江市| 武平县| 习水县| 台东县| 曲周县| 临清市| 通城县| 台湾省| 都兰县| 五台县| 博客| 同江市| 平塘县| 宣汉县| 玉田县| 仁怀市| 成都市| 六枝特区| 巫溪县| 辉南县| 荔波县| 南漳县| 松阳县| 台北县| 绍兴市| 禄丰县| 义马市| 清徐县|