一、time模块
time模块中时间表现的格式主要有三种:
a、timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量
b、struct_time时间元组,共有九个元素组。
c、format time 格式化时间,已格式化的结构使时间更具可读性。包括自定义格式和固定格式。
时间格式转换图:
import time,datetime
time.localtime() # 返回本地时间 的struct time对象格式
time.gmtime() # 返回utc 的struct time对象格式
#不写参数表示返回当前的struct time对象,输入一个时间戳参数:time.localtime(string_2_stamp) 时间戳--> 时间对象
time.asctime(time.localtime()) #接收struct time对象参数
time.ctime()
#返回"Fri Aug 19 11:14:16 2016"时间格式
#日期字符串--> 时间戳
s="2017/3/24 20:47"
string_2_struct=time.strptime(s,"%Y/%m/%d %H:%M") #日期字符串--> 时间对象
print(string_2_struct)
string_2_stamp=time.mktime(string_2_struct) #时间对象--> 时间戳
print(string_2_stamp)
#时间戳--> 字符串
t1=time.localtime(string_2_stamp) #时间戳--> 时间对象
t1_2_string=time.strftime("%Y_%m_%d_%H_%M",t1) #时间对象--> 字符串
print(t1_2_string)
二、datetime模块
datatime模块重新封装了time模块,提供更多接口,提供的类有:date,time,datetime,timedelta,tzinfo。
时间加减
datetime.datetime.now() #返回当前本地时间的datetime对象
datetime.fromtimestamp(time_stamp) #时间戳转化成datetime对象
print(datetime.datetime.now()+datetime.timedelta(days=3)) #当前时间+3天
print(datetime.datetime.now()+datetime.timedelta(-3)) #当前时间-3天
print(datetime.datetime.now()+datetime.timedelta(minutes=30)) #当前时间+30分钟
时间表现类型转换(和time模块一样)
datetime.datetime.fromtimestamp(time.time()) #时间戳 --> datetime对象
datetime.datetime.timestamp(datetime_struct) #datetime对象--> 时间戳
#字符串 --> 时间戳
s="2017/4/1 19:03:22"
string_2_struct=datetime.datetime.strptime(s,"%Y/%m/%d %H:%M:%S") #日期字符串--> datetime对象
stamp=datetime.datetime.timestamp(string_2_struct)
print(stamp)
#时间戳--> 字符串
t=datetime.datetime.fromtimestamp(stamp)
t_2_string=stamp=datetime.datetime.strftime(t,"%Y_%m_%d_%H_%M_%S") #datetime对象--> 日期字符串
print(t_2_string)
时间替换
c_time=datetime.datetime.now()
print(c_time)
print(c_time.replace(hour=2,minute=3))
网友评论