python中的time datetime模組

2021-10-03 04:06:13 字數 4235 閱讀 2826

使用time模組中的time()函式可以獲取當前時間的時間戳。當前的時間戳應為2023年1月1日到函式執行時的秒數值。例如,

import time  # 匯入time模組

t1 = time.time(

)print

(t1)

執行結果如下,

1582457981.234377
記得要匯入time模組。

1.2.1.時間戳轉化為時間元組

時間戳可以轉化為0時區的時間元組或者轉化為當前時區的時間元組。

我們先使用gmtime()函式將時間戳轉化為0時區的時間元組。

t2 = time.gmtime(t1)

print

(t2)

執行結果如下,

time.struct_time(tm_year=

2020

, tm_mon=

2, tm_mday=

23, tm_hour=

11, tm_min=

46, tm_sec=

32, tm_wday=

6, tm_yday=

54, tm_isdst=

0)

注意,由於當前時間的改變t1的值發生了變化。

因為我們所在的中國為東8區,所以我們不能直接使用t2的結果。所以,我們現在來用localtime()函式將當前時間戳轉化為當前時區的時間元組。

t3 = time.localtime(t1)

print

(t3)

執行結果如下,

time.struct_time(tm_year=

2020

, tm_mon=

2, tm_mday=

23, tm_hour=

19, tm_min=

49, tm_sec=

57, tm_wday=

6, tm_yday=

54, tm_isdst=

0)

1.2.2.將時間元組轉換為時間戳

我們可以使用mktime()函式將時間元組轉化為時間戳。例如,

print

(time.mktime(t3)

)

執行結果如下,

1582458724.0
1.3.1.將時間元組轉化為時間字串

我們需要使用使用strftime()函式將時間元組轉化為時間字串。

strftime()函式需要傳入兩個引數,第乙個引數是我們想要的時間字串格式,第二個引數是要轉化的時間元組。

以下為時間字串的格式,

例如,我們將t3時間元組轉換為「 年 月 日 時:分:秒」的格式,

str1 = time.strftime(

"%y %m %d %h:%m:%s"

, t3)

print

(str1)

執行結果如下,

2020

022319:

59:50

1.3.2.將時間字串轉換為時間元組

我們可以使用strptime()函式將時間字串轉換為時間元組。strptime()函式同樣有兩個函式,第乙個函式時時間字串,第二個引數是時間字串對應的格式。

例如,我們將字串"2020 02 23 20:03:37"轉換為時間元組,

print

(time.strptime(

"2020 02 23 20:03:37"

,"%y %m %d %h:%m:%s"

))

執行結果如下,

time.struct_time(tm_year=

2020

, tm_mon=

2, tm_mday=

23, tm_hour=

20, tm_min=

3, tm_sec=

37, tm_wday=

6, tm_yday=

54, tm_isdst=-1

)

time模組中的sleep()函式可以使程式在執行到sleep()的時候暫停指定的秒數。

例如,我們來做乙個10次的迴圈,並且每次迴圈都間隔2秒鐘,

for i in

range(10

):print

(i) time.sleep(2)

# 休眠2秒鐘

我們執行時會發現每次列印i之間會間隔2秒鐘。

使用datetime模組中的now()函式可以直接輸出當前的時間和日期。

from datetime import datetime

dt1 = datetime.now(

)print

(dt1)

執行結果如下,

2020-02

-2320:

14:15.662153

datetime()函式可以獲取指定的時間和日期。datetime()函式最多輸入7個引數,分別為年、月、日、時、分、秒、微秒。

例如,獲取2023年2月23日,

dt2 = datetime(

2020,2

,23)print

(dt2)

執行結果如下,

2020-02

-2300:

00:00

我們來獲取dt1的年、月、日、時、分、秒、微秒,

print

(dt1.year)

# 獲取年

print

(dt1.month)

# 獲取月

print

(dt1.day)

# 獲取日

print

(dt1.date())

# 獲取年月日

print

(dt1.time())

# 獲取時分秒微秒

執行結果如下,

2020223

2020-02

-2320:

23:29.938045

我們使用strftime()函式將dt1轉換為字串,

print

(dt1.strftime(

"%y %m %d %h:%m:%s"

))

datetime模組中的格式化識別符號與time模組基本一致。

我們可以使用timestamp()函式將時間轉換為時間戳。例如,

ts1 = dt1.timestamp(

)print

(ts1)

執行結果如下,

1582460997.201557
我們可以直接將兩個日期相減得出間隔。例如,

td = dt1 - dt2

print

(td)

執行結果如下,

20:36

:13.495821

我們也可以從datatime中匯入timedelta模組來進行計算。

timedelta()函式可以將某個日期賦給變數,並用來計算。例如,我們要計算dt2加上3天是什麼日期,

from datetime import timedelta

td1 = timedelta(days=3)

dt3 = dt2 + td1

print

(dt3)

執行結果如下,

2020-02

-2600:

00:00

python中 python中的 與

這一部分首先要理解python記憶體機制,python中萬物皆物件。對於不可變物件,改變了原來的值,其別名 變數名 繫結到了新值上面,id肯定會改變 對於可變物件,操作改變了值,id肯定會變,而 是本地操作,其值原地修改 對於 號操作,可變物件和不可變物件呼叫的都是 add 操作 對於 號操作,可變...

python中的物件 Python中的變數 物件

由於沒時間系統學習下python 只能見乙個問題 乙個問題了 一 初級 物件 關於python中的資料型別,今天重新認識了下。參考 首先,python中,物件才有型別,變數是沒有型別的,它只是物件的 引用 其次,python中物件被分為兩類 可更改物件和不可更改物件 包括numbers,string...

python中的引數傳遞 python中的引數傳遞

begin 前面在介紹python的六大資料型別的時候提到根據資料可變和不可變進行的資料型別分類 python3 的六個標準資料型別中 不可變資料 3 個 number 數字 string 字串 tuple 元組 可變資料 3 個 list 列表 dictionary 字典 set 集合 pytho...