日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

如何在Python中操作日期和時間

 老三的休閑書屋 2021-04-06

編寫Python程序,處理日期和時間經(jīng)常會遇到,幸好Python本身集成了很多日期、時間相關(guān)的模塊,讓這件繁瑣的工作變的方便。本文介紹Python中功能強大的datetime模塊。

datetime模塊專門處理涉及時間相關(guān)的工作,比如日期、小時、分鐘、秒、星期、月、年等,該模塊也提供其他高級的功能,如操作時區(qū)和夏令時,同時還能夠處理時間戳等。datetime模塊有五個常用的類:

  • datetime,可以同時操作日期和時間(月、日、年、小時、秒、微秒)
  • date,操作日期(月、日、年)
  • time,操作時間(小時、分鐘、秒、微秒)
  • timedelta,操作時間范圍
  • tzinfo,操作時區(qū)的一個抽象類

下面對datetime模塊常用的類和函數(shù)做介紹:

datetime類是datetime模塊中功能最強大的類,它可以同時操作日期和時間。

1,得到當前時間,通過datetime類的一個簡單函數(shù)就可以實現(xiàn):

#!/usr/bin/env pythonimport datetimedatetime_now = datetime.datetime.now() #now是一個類函數(shù)print(datetime_now)

輸出:

2021-04-05 13:31:08.192648

2,從日期字符串中得到y(tǒng)ear和month信息

使用strptime和strftime實現(xiàn)字符串到datetime對象的轉(zhuǎn)換,

datetime_string = '2021-04-05'datetime_obj = datetime.datetime.strptime(datetime_string, '%Y-%m-%d')print(datetime_obj)print(datetime_obj.year)print(datetime_obj.month)

輸出:

2021-04-05 00:00:0020214

得到小時和分鐘信息類似,因為datetime對象有hour和minute屬性。

3,從日期字符串中得到星期幾的信息

在上面代碼的基礎(chǔ)上,添加下面的代碼:

print(datetime_obj.weekday())

輸出:

0

0代表的就是周一,但這樣不直觀,通過Python的calendar模塊可以讓輸出更直觀。

import calendarprint(calendar.day_name[datetime_obj.weekday()])

輸出:

Monday

4,得到當前的周是本年的第幾周

為了得到這個結(jié)果,我們是不是要進行復(fù)雜的數(shù)學計算,當然不用,datetime模塊已經(jīng)集成了相關(guān)的函數(shù),通過調(diào)用datetime對象的函數(shù)ioscalendar就可以。

datetime_obj.isocalendar()

輸出:

(2021, 14, 1)

上面函數(shù)輸出的結(jié)果是一個三元組,其中第二個元素就是本周是今年的第幾個周。

5,實現(xiàn)datetime對象和Unix timestamp的轉(zhuǎn)換

Unix timestamp因為方便程序處理,在實際代碼編寫過程中經(jīng)常遇到,依賴datetime模塊可以非常方便地實現(xiàn)Unix timestamp和datetime對象的轉(zhuǎn)換,

from datetime import datetime# 得到當前的日期和時間now = datetime.now()# 轉(zhuǎn)換當前時間到時間戳timestamp = datetime.timestamp(now)print('Timestamp:', timestamp)#轉(zhuǎn)換時間戳到datetime對象datetime_obj = datetime.fromtimestamp(1617626697.906258)print('Datetime Object:',datetime_obj)

輸出:

Timestamp:1617626697.906258Datetime Object:2021-04-05 20:44:57.906258

6,時間跨度的計算

有時程序的判斷條件依賴過去或?qū)淼臅r間點,這時可以使用datetime模塊的timedelta類。

from datetime import datetime, timedelta# 得到當前時間now = datetime.now()print ('Today is:',now)#10天后的時間,如果用周計算,將days改為weeksdate_after_ten_days = now + timedelta(days = 10)print('Date after 10 days: ', date_after_ten_days)

輸出:

Today is: 2021-04-05 21:06:17.844471Date after 10 days: 2021-04-15 21:06:17.844471

總結(jié)

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多