在处理数据和进行机器学习的时候,遇到了大量需要处理的时间序列。比如说:数据库读取的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
年份的完整拼写
来源:
博客园