python strftime模块_python时间模块strptime和strftime区别

任何语言都有关于时间操作的模块!python也不例外,但是python的时间操作模块感觉特别混乱。好几个模块能实现相同的功能,这里把容易混淆的知识点记录下。

strftime()函数返回值是字符串。

time.strftime(arg1,arg2)。arg1是格式化字符串,arg2是time.struct_time类型。

datetime.datetime.strftime(arg1,arg2)。arg1是格式化字符串,arg2是datetime.datetime类型。

time.strptime(arg1,arg2)函数返回值是time.struct_time对象。

datetime.datetime.strptime(arg1,arg2)是datetime.datetime类型,arg1是字符串,arg2是格式化字符串。

import time

import datetime

print(" 以下是time模块-----")

t = time.time()

print('t---',t,type(t))

local_time = time.localtime()

print('local_time---',local_time,type(local_time))

print("转为字符串",time.strftime('%Y-%m-%d',local_time))

print("转为time.struct_time对象",time.strptime("2018-12-12","%Y-%m-%d"))

print(" 以下是datetime模块-----")

t2 = datetime.datetime.fromtimestamp(t)

print('t2---',t2,type(t2))

print(t2.strftime('%Y-%m-%d'))

t3 = datetime.datetime.strptime('2019-4-4', '%Y-%m-%d')

print('t3---',t3,type(t3))

t4 = datetime.datetime.strftime(t3,'%Y-%m-%d')

print('t4---',t4,type(t4))

t = datetime.datetime.now().strftime('%Y-%m-%d')

print('t----',t,type(t))

print(time.strptime(t,'%Y-%m-%d'))

print(" 以下是根据差值求时间--")

now = datetime.datetime.now()

print(now,type(now))

day3_ago = datetime.datetime.now() - datetime.timedelta(days=3)

print(day3_ago,type(day3_ago))

res = day3_ago.strftime('%Y-%m-%d')

print(res,type(res))

print("根据datetime模块求时间差")

starttime = datetime.datetime.now()

time.sleep(2)

endtime = datetime.datetime.now()

print((endtime - starttime).days)

print((endtime - starttime).seconds)

D:installpython3python.exe D:/pyscript/test/test.py

以下是time模块-----

t--- 1558938059.2712169

local_time--- time.struct_time(tm_year=2019, tm_mon=5, tm_mday=27, tm_hour=14, tm_min=20, tm_sec=59, tm_wday=0, tm_yday=147, tm_isdst=0)

转为字符串 2019-05-27

转为time.struct_time对象 time.struct_time(tm_year=2018, tm_mon=12, tm_mday=12, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=346, tm_isdst=-1)

以下是datetime模块-----

t2--- 2019-05-27 14:20:59.271217

2019-05-27

t3--- 2019-04-04 00:00:00

t4--- 2019-04-04

t---- 2019-05-27

time.struct_time(tm_year=2019, tm_mon=5, tm_mday=27, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=147, tm_isdst=-1)

以下是根据差值求时间--

2019-05-27 14:20:59.281216

2019-05-24 14:20:59.281216

2019-05-24

根据datetime模块求时间差

0

2

Process finished with exit code 0

你可能感兴趣的:(python,strftime模块)