time模組和datetime模組

2021-08-19 18:48:43 字數 3585 閱讀 5387

時間戳是從2023年1月1日0時整開始計算的秒的偏移量。即當是時,時間戳為0,再往前負增加。

1,獲取當前時間戳

import time

time.time()

1525679844.273
2,獲取給定時間戳的本地時間(當前時區)(未提供時間戳則預設當前時間戳)——結構化時間(元組方式)

import time

t=time.localtime()

print(t)

t.tm_year #獲取年

time.struct_time(tm_year=2018, tm_mon=5, tm_mday=7, tm_hour=16, tm_min=11, tm_sec=17, tm_wday=0, tm_yday=127, tm_isdst=0)

2018

另一種時間戳轉結構化時間的方式——-轉為utc時間(英國格林威治時間)

import time

time.gmtime()

time.struct_time(tm_year=2018, tm_mon=5, tm_mday=7, tm_hour=8, tm_min=7, tm_sec=24, tm_wday=0, tm_yday=127, tm_isdst=0)
3,結構化時間轉時間戳

import time

print(time.mktime(time.localtime()))

1525681030.0
4,執行緒推遲指定的時間執行。時間單位為秒

import time

time.sleep(1)

*將結構化時間轉為以下格式

import time

time.asctime() #引數預設預設當前time.localtime()

'mon may  7 16:27:31 2018'
*將時間戳轉化為以下格式

import time

time.ctime() #引數預設當前時間time.time()

'mon may  7 16:26:38 2018'
5,將結構化時間轉化為字串時間(前參為格式,後參結構化時間)

import time

time.strftime('%x %x',time.localtime())

'05/07/18 16:42:10'
6,將字串時間轉為結構化時間(字串時間,格式)

time.strptime('2016:12:24:17:50:36','%y:%m:%d:%x')
time.struct_time(tm_year=2016, tm_mon=12, tm_mday=24, tm_hour=17, tm_min=50, tm_sec=36, tm_wday=5, tm_yday=359, tm_isdst=-1)
%y 表示年

%y 表示年但會省略前兩位數字

%m 表示月份

%d 表示天

%h 表示小時

%m 表示分鐘

%s 表示秒

%x 表示固定的時間格式

%x 表示固定的日格式

%u 表示一年中第幾周

%p 表示am、pm

%w 表示週幾 0(週日)至6(週六)

以上為常用格式

轉換邏輯:

字串時間—(time.strptime)—>結構化時間—(time.mktime)—>時間戳

時間戳—(time.localtime)—>結構化時間—(time.strftime)—>字串時間

例1:將2023年10月1日12時01分轉換為時間戳

import time

t1 = time.strptime('10/01/97 12:01:00','%x %x')

print(t1)

t2 = time.mktime(t1)

print(t2)

time.struct_time(tm_year=1997, tm_mon=10, tm_mday=1, tm_hour=12, tm_min=1, tm_sec=0, tm_wday=2, tm_yday=274, tm_isdst=-1)

875678460.0

例2:將時間戳875678460轉換為字串時間

import time

t1 = time.localtime(875678460)

t2 = time.strftime('%y-%m-%d %h:%m:%s',t1)

print(t2)

1997-10-01 12:01:00
import datetime

t1 = datetime.datetime.now() #返回當前datetime

print(t1)

print(t1.year)

print(t1.strftime('%x %x')) #轉換字串時間

2018-05-07 17:22:31.585000

2018

05/07/18 17:22:31

import datetime

datetime.date.fromtimestamp(875678460) #時間戳轉日期

datetime.date(1997, 10, 1)
時間運算

import datetime

print(datetime.datetime.now() + datetime.timedelta(1)) #預設為天

print(datetime.datetime.now() - datetime.timedelta(hours=1)) #minutes / seconds

2018-05-08 17:27:37.121000

2018-05-07 16:27:37.121000

時間替換

import datetime

t1 = datetime.datetime.now()

t1.replace(year = 2012,month = 1 ,day = 1)

datetime.datetime(2012, 1, 1, 17, 31, 10, 766000)

datetime模組 time模組

from datetime import print datetime.now 返回當天的日期和時間 today datetime.now 定義today為當天日期時間物件 print datetime.date today 返回當天的日期物件 print datetime.time today 返...

time模組 datetime模組講解

2.時間轉換 時間轉換 print time.localtime 123123123 轉換為格式化物件 print time.gmtime 123123123 print time.mktime time.localtime 格式化物件轉化為時間戳 print time.strftime y tim...

time模組以及datetime模組

時間三種表現形式 1.時間戳 秒數 2.結構化時間 一般是給機器看的 3.格式化時間 一般是給人看的 三種時間是可以相互轉換的 時間戳表示的是從1970年1月1日00 00 00開始按秒計算到目前的偏移量,也就是計算從1970年到現在所過去的秒數 print time.time 1637839983...