time模块
与时间相关的模块
- 分类
- 时间戳
- 时间字符串
- 时间元祖
- 定义
- UTC:格林威治时间,世界标准时间,中国(UTC + 8)
- 时间戳:1970-01-01 0:0:0 开始按秒计算,返回的是float类型
- 元祖:struct_time元祖共有9个元素。
三种形式:
- 时间戳:time.time()时差,计时
- 人类看得懂的时间,格式化时间.2019-6-28 12:00
- 结构化时间:python语言使用的,解释器使用的
3者转化
import time
print(time.time()) # 1561707352.6777651
# 格式化时间:
# 字符串类型
print(time.strftime("%Y-%m-%d %H:%M:%S")) # 2019-06-28 15:36:32
print(time.strftime("%y-%m-%d %H:%M:%S %A")) # 19-06-28 15:36:32 Friday
ret = time.strftime("%Y{}%m{}%d{} %H:%M:%S")
print(ret) # 2019{}06{}28{} 15:36:32
print(ret.format('年','月','日')) # 2019年06月28日 15:36:32
print(time.localtime()) # time.struct_time(tm_year=2019, tm_mon=6, tm_mday=28, tm_hour=15, tm_min=36, tm_sec=32, tm_wday=4, tm_yday=179, tm_isdst=0)
e(st) # 转成时间戳
print(timestamp)
时间的转换列题
# 时间戳转化成格式化时间
import time
st = time.localtime(8340768 可以直接输时间戳) # 转成结构化时间
print(st)#命名元祖
ft = time.strftime("%Y-%m-%d %H:%M:%S") # 转成格式化时间
print(ft)
# 格式化时间转化成时间戳
import time
date = input("请输入X年X月X日:").strip()
#2019-5-9
st = time.strptime(date, "%Y-%m-%d") # 转成结构化时间 命名元祖
timestamp = time.mktime(st) # 转成时间戳
print(timestamp)
列题
import time
date = input("请输入X年X月X日:").strip()
#2019-5-9
st = time.strptime(date, "%Y-%m-%d") # 转成结构化时间 命名元祖
print(st.tm_yday)#多少天
datetime模块
日期模块用于跳转时间
import datetime
# from datetime import datetime
time_now = datetime.datetime.now()
print(str(time_now),type(time_now)) # 2019-06-28 15:46:50.525403 <class 'datetime.datetime'>
print(datetime.datetime.now() + datetime.timedelta(weeks=3)) # 2019-07-19 15:47:11.392616
print(datetime.datetime.now() + datetime.timedelta(weeks=-4)) # 2019-05-31 15:47:11.400563
print(datetime.datetime.now() + datetime.timedelta(days=-15)) # 2019-06-13 15:47:11.400563
current_time = datetime.datetime.now()
print(current_time.replace(year=1979)) # 1979-06-28 15:48:20.118009
print(current_time.replace(year=1989,month=4,day=25)) # 1989-04-25 15:48:20.118009
print(datetime.date.fromtimestamp(1332543543)) # 2012-03-24