python時間模組 time和datetime

2021-08-25 11:46:09 字數 4181 閱讀 1834

python 中時間表示方法有:時間戳,即從2023年1月1日00:00:00到現在的秒數;格式化後的時間字串;時間struct_time 元組。

struct_time元組中元素主要包括tm_year(年)、tm_mon(月)、tm_mday(日)、tm_hour(時)、tm_min(分)、tm_sec(秒)、tm_wday(weekday0 - 6(0表示週日))、tm_yday(一年中的第幾天1 - 366)、tm_isdst(是否是夏令時

1. time

常用函式

time.time() 返回當前時間戳

>>> time.time()

1465370844.096474

time.ctime() 返回這種格式的時間字元』wed jun 8 15:27:48 2016』,顯示當前時間.同時也可以轉換時間戳

>>> time.ctime()

wed aug 22

17:47:31

2018'

>>> time.ctime(time.time()-86400)

'tue aug 21

17:50:07

2018'

time.localtime將時間戳轉換成struct_time格式

>>> time.localtime()

time.struct_time(tm_year=2018, tm_mon=8, tm_mday=22, tm_hour=17, tm_min=47, tm_sec=44, tm_wday=2, tm_yday=234, tm_isdst=0)

time.mktime 將struct_time格式轉回成時間戳

>>> now = time.localtime()

>>> now

time.struct_time(tm_year=2018, tm_mon=8, tm_mday=22, tm_hour=17, tm_min=54, tm_sec=51, tm_wday=2, tm_yday=234, tm_isdst=0)

>>> time.mktime(now)

1534931691.0

time.strftime 將struct_time格式轉成指定的字串格式

>>> now = time.localtime()

>>> now

time.struct_time(tm_year=2018, tm_mon=8, tm_mday=22, tm_hour=18, tm_min=0, tm_sec=20, tm_wday=2, tm_yday=234, tm_isdst=0)

>>> time.strftime("%y-%m-%d

%h:%m:%s",now)

'2018-08-22 18:00:20'

time.strptime 將自定義時間格式的字串轉換為struct_time格式

>>> time.strptime("2018-08-22","%y-%m-%d")

time.struct_time(tm_year=2018, tm_mon=8, tm_mday=22, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=234, tm_isdst=-1)

>>> time.strptime("2018-08-22 18:03:30", "%y-%m-%d

%h:%m:%s")

time.struct_time(tm_year=2018, tm_mon=8, tm_mday=22, tm_hour=18, tm_min=3, tm_sec=30, tm_wday=2, tm_yday=234, tm_isdst=-1)

datetime

datime是time的公升級版,可以對date(日期)、time(時間)、datetime(日期時間)等三種單獨管理。主要是由下面四個類組成

datetime.datetime常用函式(datetime.date datetime.time通用)

#datetime.datetime.today() 預設返回當前日期和時間的物件,也可以自定義日期和時間

>>> import datetime

>>> today = datetime.datetime.today()

>>> print today

2018-08-22

18:12:14.568491

>>> last = datetime.datetime(2018,8,22,18,12,14) #注意此處表示日期只能是實際月份,不能帶0

>>> print

last

2018-08-22

18:12:14

>>> last = datetime.datetime(2018,08,22,18,12,14)

file "", line 1

last = datetime.datetime(2018,08,22,18,12,14)

^syntaxerror: invalid token

#datetime.datetime.now() 返回當前時間

>>> datetime.datetime.now()

datetime.datetime(2018, 8, 22, 18, 16, 16, 660619)

# datetime.strftime(format) #自定義格式化時間

>>> today.strftime("%i:%m:%s

%p%d/%m/%y")

'06:12:14 pm 22/08/2018'

# datetime.datetime.timple() 將時間轉換為struct_time 格式

>>>today.timetuple()

time.struct_time(tm_year=2018, tm_mon=8, tm_mday=22, tm_hour=18, tm_min=12, tm_sec=14, tm_wday=2, tm_yday=234, tm_isdst=-1)

#datetime.replace()返回乙個替換後的date物件

>>>last = today.replace(1949,10,1)

>>> print

last

1949-10-01

18:12:14.568491

>>> last = today.replace(year=1919,month=3,day=2)

>>> print

last

1919-03-02

18:12:14.568491

# datetime.datetime.strptime 將字串轉換為日誌格式物件

>>> a = a = "2018-08-22 18:25:19"

>>> b = datetime.datetime.strptime(a,"%y-%m-%d

%h:%m:%s")

>>> print(a)

2018-08-22

18:25:19

>>> print(b)

2018-08-22

18:25:19

>>> print(type(a))

'str'>

>>> print(type(b))

'datetime.datetime'>

datetime.timedelta 時間運算

可用引數:days seconds microseconds milliseconds minutes hours weeks

today = datetime.datetime.now()

>>> print(today)

2018-08-22

18:26:20.360822

>>> yesterday = today - datetime.timedelta(days=1)

>>> print(yesterday)

2018-08-21

18:26:20.360822

>>> last_hour = today - datetime.timedelta(hours=1)

>>> print(last_hour)

2018-08-22

17:26:20.360822

python 時間模組time

python中有關時間的內容,時間主要是3種形式 格式化的時間 時間元組 時間戳,格式化的時間轉為時間戳,必須要先轉為時間元組,通過時間元組再轉化為時間戳,同樣的時間戳轉化為格式化的時間時,也需要先轉為時間元組後,才能再轉化為格式化的時間 1 time.time 以時間戳的形式獲取當前時間 2 ti...

python時間模組 time

1.python中的時間的表示方法有以下幾種 1 時間戳,通常來說,時間戳表示的是從1970年1月1日00 00 00開始按秒計算的到當前時間的差。time.time 返回的就是時間戳格式。2 結構化時間 struct time 就是標準的咱們指的 9個時間元素 年 月 日 時 分 秒 一年中的第幾...

python時間time模組介紹

先看幾個概念 時間戳 從1970年1月1日00 00 00開始按秒計算的偏移量。舉個例子,現在是2017年6月11的下午16 54 32,那麼print time.time 輸出的值是1497171320.99就代表現在的時間戳。元組 struct time struct time元組共有9個元素。...