Python time and datetime

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)) #    时间替换
posted @ 2018-12-11 21:55  HonGIm  阅读(154)  评论(0)    收藏  举报