Swift51.com
麦子学院 头像
麦子学院  2017-08-14 17:07

Python学习之时间处理详解

回复:0  查看:2440  
在处理数据和进行机器学习的时候,遇到了大量需要处理的时间序列。比如说:数据库读取的str time 的转化,还有 time 的差值计算。总结一下 python 的时间处理方面的内容,希望对大家 学习python有所帮助
   一、字符串和时间序列的转化
  ·  time.strptime()  :字符串=> 时间序列
  ·  time.strftime()  :时间序列=> 字符串
  import  time
  start = "2017-01-01"
  end = "2017-8-12"
  startTime = time.strptime(start,"%Y-%m-%d")
  endTime = time.strptime(end,"%Y-%m-%d") # 第二个参数 format 指定格式
   print(startTime); print(endTime)
  _start = time.strftime('%Y%m%d-%H:%M:%S',startTime)
  _end = time.strftime('%Y%m%d-%H:%M:%S',endTime) # 参数位置刚好相反 print(_start) print(_end)
   二、时间戳
  ·  time.mktime(t) : t 转化为时间戳
  ·  time.localtime(s)  :将时间戳转化为时间
  startStamp =  time.mktime(startTime) # time =>  时间戳
  endStamp =  time.mktime(endTime)
  print(startStamp)
  print(endStamp)
  _startTime =  time.localtime(startStamp) #  时间戳  =>  time
  print(_startTime)
   三、日期运算
   注意:时间戳是从1970年开始,以秒数为单位,所以我们的计算可以根据秒数来实现
  例如,我这里计算 startTime  和  endTime 之间相差的天数:
  print ( int(( endStamp-startStamp)/(24*60*60)))
四、格式汇总
  %a  英文星期简写
  %A  英文星期的完全
  %b  英文月份的简写
  %B  英文月份的完全
  %c  显示本地日期时间
  %d  日期,取 1-31
  %H  小时,  0-23
  %I  小时,  0-12
  %m  月,  01 -12
  %M  分钟, 1-59
  %j  年中当天的天数
  %w  显示今天是星期几
  %W  第几周
  %x  当天日期
  %X  本地的当天时间
  %y  年份  00-99
  %Y  年份的完整拼写
来源: 博客园