天天看點

Python 時間處理函數

所有日期、時間的api都在datetime子產品内。

1. 日期輸出格式化 string => datetime

import datetime

t_str = '2015-04-07 19:11:21'

t_date = datetime.datetime.strptime(t_str, '%Y-%m-%d %H:%M:%S')

print t_date

輸出:2015-04-07 19:11:21

strptime是datetime類的靜态方法。

2. 日期輸出格式化 datetime => string

all = t_date.strftime('%Y-%m-%d %H:%M:%S') 

year = t_date.strftime('%Y')

month = t_date.strftime('%m')

day = t_date.strftime('%d')

hour = t_date.strftime('%H')

minute = t_date.strftime('%M')

print all,year,month,day,hour,minute

輸出:

2015-04-07 19:11:21 2015 04 07 19 11

strftime是datetime類的執行個體方法。

最後抛一個問題進行解決:如何判斷某個時刻,是該天的第幾個5分鐘或者該小時的第幾個5分鐘

接着上面例子繼續說明:還可以這樣将時間格式化,直接提取和使用年月日分鐘秒

t_date.hour

t_date.minute

t_date.hour和 t_date.strftime('%H') 有什麼差別?前者是int,後者是string

解決這個問題可以如下:

某小時的第幾個5分鐘: 

order_hour_5 = t_date.minute/5+1

order_day_5 = t_date.minute/5+1 + t_date.hour*12

print order_hour_5,order_day_5

輸出:3 231

2015-04-07 19:11:21 是19點的第3個5分鐘,是4月7日的第231個5分鐘