时间模块

一、time

1.时间戳:从1970年到现在经过的秒数

作用:用于时间间隔的计算

print(time.time())
1585549748.3966906

2.按照某种格式显示的时间:2020-03-30 11:11:11

作用:用于展示时间

print(time.strftime('%Y-%m-%d %H:%M:%S %p'))
print(time.strftime('%Y-%m-%d %X'))
2020-03-30 14:29:08 PM
2020-03-30 14:29:08

3.结构化的时间

作用:用于单独获取时间的某一部分

res=time.localtime()
print(res)
print(res.tm_year)
print(res.tm_yday)
time.struct_time(tm_year=2020, tm_mon=3, tm_mday=30, tm_hour=14, tm_min=29, tm_sec=8, tm_wday=0, tm_yday=90, tm_isdst=0)
2020
90
1970-01-05 04:35:33

二、datetime

import datetime

print(datetime.datetime.now())   #现在的时间
print(datetime.datetime.now() + datetime.timedelta(days=3))  #三天后时间
print(datetime.datetime.now() + datetime.timedelta(weeks=1)) #1周后时间
2020-03-30 14:32:43.274980
2020-04-02 14:32:43.274980
2020-04-06 14:32:43.274980

三、时间模块需要掌握的操作

struct_time->时间戳

import time
s_time=time.localtime()
print(time.mktime(s_time))   
1585550817.0

时间戳->struct_time

tp_time=time.time()
print(time.localtime(tp_time))

time.struct_time(tm_year=2020, tm_mon=3, tm_mday=30, tm_hour=14, tm_min=46, tm_sec=57, tm_wday=0, tm_yday=90, tm_isdst=0)
print(time.localtime())  
print(time.gmtime()) # 世界标准时间,了解 与本地差8个小时

time.struct_time(tm_year=2020, tm_mon=3, tm_mday=30, tm_hour=14, tm_min=49, tm_sec=17, tm_wday=0, tm_yday=90, tm_isdst=0)
time.struct_time(tm_year=2020, tm_mon=3, tm_mday=30, tm_hour=6, tm_min=49, tm_sec=17, tm_wday=0, tm_yday=90, tm_isdst=0)

struct_time->格式化的字符串形式的时间

s_time=time.localtime()
print(time.strftime('%Y-%m-%d %H:%M:%S',s_time))
2020-03-30 14:51:37

格式化->struct_time的字符串形式的时间

print(time.strptime('1988-03-03 11:11:11','%Y-%m-%d %H:%M:%S'))
time.struct_time(tm_year=1988, tm_mon=3, tm_mday=3, tm_hour=11, tm_min=11, tm_sec=11, tm_wday=3, tm_yday=63, tm_isdst=-1)

真正需要掌握的只有一条format string<------>timestamp

1988-03-03 11:11:11'+7
# format string--->struct_time--->timestamp
struct_time=time.strptime('1988-03-03 11:11:11','%Y-%m-%d %H:%M:%S')
timestamp=time.mktime(struct_time)+7*86400
print(timestamp)

# format string<---struct_time<---timestamp
res=time.strftime('%Y-%m-%d %X',time.localtime(timestamp))
print(res)

573966671.0
1988-03-10 11:11:11

四、了解知识

import time
print(time.asctime())
Mon Mar 30 14:58:57 2020
asctime([t]) : 把一个表示时间的元组或者struct_time表示为这种形式:'Sun Jun 20 23:21:05 1993'。
 如果没有参数,将会将time.localtime()作为参数传入。
import datetime
print(datetime.datetime.now())  #现在时间
print(datetime.datetime.utcnow())  #现在的世界标准时间

print(datetime.datetime.fromtimestamp(333333))  #将时间戳转换

2020-03-30 15:03:55.816084
2020-03-30 07:03:55.816084
1970-01-05 04:35:33
原文地址:https://www.cnblogs.com/chenyoupan/p/12600555.html