python時間處理詳解

2021-09-24 07:25:07 字數 3387 閱讀 4631

1.獲取當前時間的兩種方法:

import datetime,time

now = time.strftime(%y-%m-%d %h:%m:%s)

print now

now = datetime.datetime.now()

print now

2.獲取上個月最後一天的日期(本月的第一天減去1天)

last = datetime.date(datetime.date.today().year,datetime.date.today().month,1)-datetime.timedelta(1)

print last

3.獲取時間差(時間差單位為秒,常用於計算程式執行的時間)

starttime = datetime.datetime.now()

#long running

endtime = datetime.datetime.now()

print (endtime - starttime).seconds

4.計算當前時間向後10個小時的時間

d1 = datetime.datetime.now()

d3 = d1 + datetime.timedelta(hours=10)

d3.ctime()

其本上常用的類有:datetime和timedelta兩個。它們之間可以相互加減。每個類都有一些方法和屬性可以檢視具體的值,如 datetime可以檢視:天數(day),小時數(hour),星期幾(weekday())等;timedelta可以檢視:天數(days),秒數 (seconds)等。

5.python中時間日期格式化符號:

%y 兩位數的年份表示(00-99)

%y 四位數的年份表示(000-9999)

%m 月份(01-12)

%d 月內中的一天(0-31)

%h 24小時制小時數(0-23)

%i 12小時制小時數(01-12)

%m 分鐘數(00=59)

%s 秒(00-59)

%a 本地簡化星期名稱

%a 本地完整星期名稱

%b 本地簡化的月份名稱

%b 本地完整的月份名稱

%c 本地相應的日期表示和時間表示

%j 年內的一天(001-366)

%p 本地a.m.或p.m.的等價符

%u 一年中的星期數(00-53)星期天為星期的開始

%w 星期(0-6),星期天為星期的開始

%w 一年中的星期數(00-53)星期一為星期的開始

%x 本地相應的日期表示

%x 本地相應的時間表示

%z 當前時區的名稱

%% %號本身

附上示例**:

**code highlighting produced by actipro codehighlighter (freeware)

import datetime, calendar

def getyesterday():

today=datetime.date.today()

oneday=datetime.timedelta(days=1)

yesterday=today-oneday

return yesterday

def gettoday():

return datetime.date.today()

#獲取給定引數的前幾天的日期,返回乙個list

def getdaysbynum(num):

today=datetime.date.today()

oneday=datetime.timedelta(days=1)

li=for i in range(0,num):

#今天減一天,一天一天減

today=today-oneday

#把日期轉換成字串

#result=datetostr(today)

return li

#將字串轉換成datetime型別

def strtodatetime(datestr,format):

return datetime.datetime.strptime(datestr,format)

#時間轉換成字串,格式為2008-08-02

def datetostr(date):

return str(date)[0:10]

#兩個日期相隔多少天,例:2008-10-03和2008-10-01是相隔兩天

def datediff(begindate,enddate):

format=%y-%m-%d;

bd=strtodatetime(begindate,format)

ed=strtodatetime(enddate,format)

oneday=datetime.timedelta(days=1)

count=0

while bd!=ed:

ed=ed-oneday

count+=1

return count

#獲取兩個時間段的所有時間,返回list

def getdays(begindate,enddate):

format=%y-%m-%d;

bd=strtodatetime(begindate,format)

ed=strtodatetime(enddate,format)

oneday=datetime.timedelta(days=1)

num=datediff(begindate,enddate)+1

li=for i in range(0,num):

ed=ed-oneday

return li

#獲取當前年份 是乙個字串

def getyear():

return str(datetime.date.today())[0:4]

#獲取當前月份 是乙個字串

def getmonth():

return str(datetime.date.today())[5:7]

#獲取當前天 是乙個字串

def getday():

return str(datetime.date.today())[8:10]

def getnow():

return datetime.datetime.now()

print gettoday()

print getyesterday()

print getdaysbynum(3)

print getdays('2008-10-01','2008-10-05')

print '2008-10-04 00:00:00'[0:10]

print str(getyear())+getmonth()+getday()

print getnow()

詳解python日期時間處理2

目錄 前篇我們稍微學習了python中時間的獲取,這次繼續學習日期的時區轉換,格式化等等。我們經常會用到,比如全球化的業務根據不同客戶顯示不同時間 格式等 在python 主要有下面兩個模組涵蓋了常用日期處理 import time import calender python中建立乙個時間,具體來...

python 時間處理

django,pytz環境下處理時區問題 datetime obj.replace tzinfo pytz.utc astimezone pytz.timezone settings.time zone 建構函式 date類表示乙個日期。日期由年 月 日組成 地球人都知道 date類的建構函式如下 ...

Python時間處理

使用pandas的read csv函式,parse dates 直接將檔案中的一列解析為時間,index col 將一列作為索引,時間列作為索引時,索引列型別為datetime64。在此dataframe新增一行新的時間資料 重取樣指的是將時間序列從乙個頻率轉換到另乙個頻率的過程將高頻率資料聚合到低...