在處理數(shù)據(jù)和進(jìn)行機(jī)器學(xué)習(xí)的時(shí)候,遇到了大量需要處理的時(shí)間序列。比如說:數(shù)據(jù)庫讀取的str
和
time
的轉(zhuǎn)化,還有
time
的差值計(jì)算??偨Y(jié)一下
python
的時(shí)間處理方面的內(nèi)容,希望對(duì)大家
學(xué)習(xí)python有所幫助
。
一、字符串和時(shí)間序列的轉(zhuǎn)化
·
time.strptime()
:字符串=>
時(shí)間序列
·
time.strftime()
:時(shí)間序列=>
字符串
import
time
start = "2017-01-01"
end = "2017-8-12"
startTime = time.strptime(start,"%Y-%m-%d")
endTime = time.strptime(end,"%Y-%m-%d") #
第二個(gè)參數(shù)
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) #
參數(shù)位置剛好相反
print(_start)
print(_end)
二、時(shí)間戳
·
time.mktime(t) :
將
t
轉(zhuǎn)化為時(shí)間戳
·
time.localtime(s)
:將時(shí)間戳轉(zhuǎn)化為時(shí)間
startStamp =
time.mktime(startTime) #
time =>
時(shí)間戳
endStamp =
time.mktime(endTime)
print(startStamp)
print(endStamp)
_startTime =
time.localtime(startStamp) #
時(shí)間戳
=>
time
print(_startTime)
三、日期運(yùn)算
注意:時(shí)間戳是從1970年開始,以秒數(shù)為單位,所以我們的計(jì)算可以根據(jù)秒數(shù)來實(shí)現(xiàn)
例如,我這里計(jì)算 startTime
和
endTime
之間相差的天數(shù):
print (
int((
endStamp-startStamp)/(24*60*60)))
四、格式匯總
%a
英文星期簡(jiǎn)寫
%A
英文星期的完全
%b
英文月份的簡(jiǎn)寫
%B
英文月份的完全
%c
顯示本地日期時(shí)間
%d
日期,取
1-31
%H
小時(shí),
0-23
%I
小時(shí),
0-12
%m
月,
01 -12
%M
分鐘,
1-59
%j
年中當(dāng)天的天數(shù)
%w
顯示今天是星期幾
%W
第幾周
%x
當(dāng)天日期
%X
本地的當(dāng)天時(shí)間
%y
年份
00-99
間
%Y
年份的完整拼寫
來源:
博客園