Python time and datetime
一、time
- tm_year[年] tm_mon[月] tm_mday[日]
- tm_hour[时] tm_min[分] tm_sec[秒]
- tm_wday[周0-6] tm_yday[年中第几天] tm_isdst[是否夏令时]
# time_模块的简单用法
print(time.clock()) #返回处理时间. 3.3已废弃. 改成time.process_time()测量处理器运算时间.不包括sleep时间.
print(time.altzone/3600) #返回与utc时间的时间差,以秒计算
print(time.asctime()) #返回时间格式"Mon Aug 7 21:29:03 2017"
Tim1 = time.localtime() #localtime()是对象. 赋值进行说明. 本地时间.
Tim2 = time.localtime(time.time()+3600*3) #localtime()是对象. .对tm_hour进行时间+操作
print(Tim1) # 正常返回.
print(Tim2)
#tm_year[年] tm_mon[月] tm_mday[日] tm_hour[时] tm_min[分] tm_sec[秒]
#tm_wday[周0-6] tm_yday[一年开头到现在是第几天] tm_isdst[是否是夏令时]
print(Tim1.tm_year,Tim1.tm_yday) #2016年第219天
print(time.gmtime()) #和localtime差不多. 区别是:tm_hour 【gmtime()是utc时间.localtime是本地时间.】
print(time.gmtime(time.time()-3600*3)) #gmtime进行时间运算
print(time.time()) #时间戳
print(time.time()/(3600*24*365)) #1970年到现在. 为什么是1970年.应为Unix是1970年诞生的. 下边不解释了...
print(time.ctime()) #返回当前时间
# 日期字符串 转成 时间戳
T1 = time.strptime("2017/05/22 22:20","%Y/%m/%d %H:%M") #将日期字符串 转成 struct时间对象格式
print(T1)
T2 = time.mktime(T1) #将struct时间对象转成时间戳. 这样就可以做运算了.
print(T2)
print(T2-20)
# 将时间戳转为字符串格式
print(time.gmtime(time.time())) #将utc时间戳转换成struct_time格式
print(time.strftime("%Y_%m_%d %H:%M:%S.logs",time.gmtime()) ) #将utc struct_time格式转成指定的字符串格式
二、datetime 时间模块[时间加减]
- %a[本地(local)星期 %A[本地完整星期名称] %b[本地简化月份名称] %B[本地完整月份名称] %c[本地相应的日期和时间表示]
- %d[一个月中第几天(01-31)] %H[一天中第几个小时(24小时制.00-23)] %I[第几个小时(12小时制.01-12)] %j[年中第几天(001-366)]
- %m[月份(01 - 12)] %M[分钟数(00 - 59)] %p[本地am或者pm的相应符]
- %S[秒(01-61)] %U[一年中的星期数.(00-53星期天是一个星期的开始.)第一个星期天之前的所有天数都放在第0周]
- %w[一个星期中的第几天(0 - 6,0是星期天)] %W[和%U基本相同.不同的是%W以星期一为一个星期的开始.]
- %x[本地相应日期] %X[本地相应时间] %y[去掉世纪的年份(00 - 99)]
- %Y[完整的年份] %Z[时区的名字(如果不存在为空字符)] %%["%"字符]
print(datetime.datetime.now()) #返回2017-08-07 22:18:48.081864 [年月日时分秒]
print(datetime.date.fromtimestamp(time.time())) #时间戳直接转成日期格式2017-08-07. [年月日]
print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天
print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天
print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时
print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分
c_time = datetime.datetime.now()
print(c_time.replace(minute=3,hour=2)) # 时间替换