Python中日期和時間的操作

2021-10-17 03:47:24 字數 1945 閱讀 9067

python中,對日期和時間的操作,主要使用這3個內建模組: datetime 、 time 和 calendar

獲取當前時間對應的數字

開發程式時,經常需要獲取兩個**位置在執行時的時間差,比如,我們想知道某個函式執行大概耗費了多少時間,就可以使用time.time()來做。

import time

before = time.time()

func1()

after = time.time()

print(f"呼叫func1,花費時間")

time.time() 會返回 從 2023年1月1日0點(所謂的epoch時間點)到當前時間的 經過的秒數 ,可以簡稱為秒數時間。

指定格式字串顯示時間

以指定格式字串顯示時間,是非常常用的,比如日誌裡面的時間戳。

要得到 當前時間 對應的字串,可以這樣實現:

from datetime import datetime

str(datetime.now())

得到類似這樣的字串:『2018-06-30 23:10:08.911420』

如果要指定輸出的時間格式,可以像下面這樣

datetime.now().strftime(』%y-%m-%d ** %h:%m:%s』)

得到類似這樣的字串: 『2019-02-24 ** 16:56:55』

當然,也可以使用time庫來格式化顯示字串

time.strftime(』%y-%m-%d %h:%m:%s』,time.localtime())

數字表示的時間轉化為字串表示

如果要將某個指定秒數時間(從epoch時間點開始計算),而不是當前時間,轉化為字串格式,可以這樣寫

time.strftime(』%y%m%d %h:%m:%s』,time.localtime(1434502529))

字串時間轉化為整數時間

反過來,如果要將字串指定的時間,轉化為秒數時間,可以這樣

int(time.mktime(time.strptime(『2015-08-01 23:59:59』, 『%y-%m-%d %h:%m:%s』)))

獲取某個時間 對應 的年月日時分秒數字

要獲取 當前時間 的 年、月、日、時、分、秒、星期幾 對應的數字,可以使用datetime庫

>>> from datetime import datetime

>>> datetime.now()

datetime.datetime(2021, 1, 22, 10, 56, 8, 156346)

>>> datetime.now().year

2021

>>>

>>> datetime.now().month

1>>> datetime.now().day

22>>> datetime.now().hour

10>>> datetime.now().minute

56>>> datetime.now().second

1# 獲取星期幾用 weekday方法

# 0 代表星期一,1 代表星期二 依次類推

>>> datetime.now().weekday()

4>>>

獲取某個月總共有多少天

最方便的方法是使用 calendar 模組裡面的 函式

from calendar import monthrange

#monthrange返回的是元組

#第乙個元素是指定月第一天是星期幾

#第二個元素是指定月有多少天

mr = monthrange(2021, 2)

#得到2023年2月有多少天

print(mr[1])

shell中日期時間操作

使用許可權 所有使用者 使用方式 date u d datestr s datestr utc universal date datestr set datestr help version format mmddhhmm cc yy ss 說明 date 能用來顯示或設定系統的日期和時間,在顯示方...

Python中日期 時間的運用

python中日期 時間的運用 date time和datetime 一 簡介 我們在編寫 時,往往涉及到時間和日期的運用。時間日期又是一種特有的格式 這種格式不像我們常見資料格式容易操作,在使用的時候有諸多不便。例如我們想改變它的顯示樣式,或者按照一定的年 月等特性進行分類。但是我們可以對date...

python 中 日期,時間戳的轉換

一,日期轉換成為時間戳 1,首先需要引入模組,time datetime import time datetime2,把輸入的字元轉換成為陣列 python time strptime 函式根據指定的格式把乙個時間字串解析為時間元組。time.strptime string format tsl 2...