91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python標準庫之日期、時間和日歷模塊怎么使用

發布時間:2022-05-30 09:44:24 來源:億速云 閱讀:190 作者:iii 欄目:開發技術

今天小編給大家分享一下Python標準庫之日期、時間和日歷模塊怎么使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

一、time時間模塊

import time

1 、時間戳:time.time()

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

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

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

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

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

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中時間日期格式化符號:

  • %y 兩位數的年份表示(00-99)

  • %Y 四位數的年份表示(000-9999)

  • %m 月份(01-12)

  • %d 月內中的一天(0-31)

  • %H 24小時制小時數(0-23)

  • %I 12小時制小時數(01-12)

  • %M 分鐘數(00=59)

  • %S 秒(00-59)

  • %a 本地簡化星期名稱

  • %A 本地完整星期名稱

  • %b 本地簡化的月份名稱

  • %B 本地完整的月份名稱

  • %c 本地相應的日期表示和時間表示

  • %j 年內的一天(001-366)

  • %p 本地A.M.或P.M.的等價符

  • %U 一年中的星期數(00-53)星期天為星期的開始

  • %w 星期(0-6),星期天為星期的開始

  • %W 一年中的星期數(00-53)星期一為星期的開始

  • %x 本地相應的日期表示

  • %X 本地相應的時間表示

  • %Z 當前時區的名稱

  • %% %號本身

3 、結構化時間:time.localtime()

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

# UTC時區的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)

# 本地時區的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)

#  獲取當前時間
print( time.localtime(time.time())
# 結構化時間的基準時間
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)

# 結構化時間的基準時間上增加一年時間
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、 不同格式時間的轉換

Python標準庫之日期、時間和日歷模塊怎么使用

如上圖所示,我們總能通過某些方法在結構化時間-格式化時間-時間戳三者之間進行轉換,下面我們將用代碼展示如何通過這些方法轉換時間格式。

# 結構化時間
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)

# 把結構化時間轉換為時間戳格式
print(time.mktime(now_time))  # 1574923915.0

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

# 把格式化時間化為結構化時間,它和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、 其他用法

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

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

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

# 如果參數未給或者為None的時候,默認會將time.time()為參數。它的作用相當于time.asctime(time.localtime(secs))。
print(time.ctime(time.time()))  # Thu Nov 28 14:51:55 2019


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

print(end-start) #3.0005428791046143


time.perf_counter()  # 返回系統運行時間
time.process_time()  # 返回進程運行時間

二、datetime時間加減的模塊

datetime模塊可以看成是時間加減的模塊

import datetime

1、用法:

import datetime
import time

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

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

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

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

2、常用時間處理方法

  • 今天: today = datetime.date.today()

  • 昨天: yesterday = today - datetime.timedelta(days=1)

  • 上個月: last_month = today.month - 1 if today.month - 1 else 12

  • 當前時間戳: time_stamp = time.time()

  • 時間戳轉datetime: datetime.datetime.fromtimestamp(time_stamp)

  • datetime轉時間戳: int(time.mktime(today.timetuple()))

  • datetime轉字符串: today_str = today.strftime("%Y-%m-%d")

  • 字符串轉datetime: today = datetime.datetime.strptime(today_str, "%Y-%m-%d")

  • 補時差: today + datetime.timedelta(hours=8)

三、Calendar日歷模塊

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

import calendar

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

以上實例輸出結果:

以下輸出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

星期一是默認的每周第一天,星期天是默認的最后一天。更改設置需調用calendar.setfirstweekday()函數。

農歷:

安裝方法:

pip install sxtwl

Windows下的二進制安裝包:

# 引入日歷庫模塊
import sxtwl

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

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

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

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

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

以上就是“Python標準庫之日期、時間和日歷模塊怎么使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴林左旗| 时尚| 海南省| 南平市| 武穴市| 安徽省| 临漳县| 榆林市| 崇明县| 邻水| 尤溪县| 定西市| 宁安市| 泸溪县| 花莲县| 行唐县| 韶山市| 江津市| 旬邑县| 泾阳县| 亚东县| 类乌齐县| 安泽县| 临城县| 兰州市| 西乌| 巫溪县| 桃源县| 齐齐哈尔市| 阳高县| 手机| 炎陵县| 鹤岗市| 独山县| 广宁县| 房山区| 荣昌县| 斗六市| 唐河县| 石阡县| 泽普县|