本篇共2部分,上篇我們初步探討Python時間運算的機制,下篇為一句話快速運用Python的datetime進行時間運算的技巧。
Python時間運算的詳細機制初探討我們先來看一張圖:
import time
導入時間模塊;
In [5]: time.strptime('20161009','%Y%m%d')
Out[5]: time.struct_time(tm_year=2016, tm_mon=10, tm_mday=9, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=283, tm_isdst=-1)
In [6]: time.mktime(time.strptime('20161009','%Y%m%d'))
Out[6]: 1475942400.0
In [7]: time.localtime(1475942400.0)
Out[7]: time.struct_time(tm_year=2016, tm_mon=10, tm_mday=9, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=283, tm_isdst=0)
In [13]: time.strftime('%Y%m%d',time.localtime(1475942400.0))
Out[13]: '20161009'
附:字符時間常用格式
%Y Year with century as a decimal number.
%m Month as a decimal number [01,12].
%d Day of the month as a decimal number [01,31].
%H Hour (24-hour clock) as a decimal number [00,23].
%M Minute as a decimal number [00,59].
%S Second as a decimal number [00,61].
%z Time zone offset from UTC.
%a Locale's abbreviated weekday name.
%A Locale's full weekday name.
%b Locale's abbreviated month name.
%B Locale's full month name.
%c Locale's appropriate date and time representation.
%I Hour (12-hour clock) as a decimal number [01,12].
%p Locale's equivalent of either AM or PM.
一句話快速進行python時間運算的技巧1、python快速求值當前時間當前的天數、當前的時間
In [1]: from datetime import datetime, timedelta, date
In [2]: (datetime.now()).strftime('%Y%m%d')
Out[2]: '20161009'
In [3]: (datetime.now()).strftime('%Y/%m/%d %H:%M:%S')
Out[3]: '2016/10/09 16:57:12'
同上,當前的周數、月份、上下午等都可以通過後面的格式化字符求出。例如,
%a代表英文周幾,%b代表月份,%p代表AM/PM等,更多的參考下圖:
2 、python快速時間運算python周數運算、天數運算、小時運算、秒數運算、毫秒運算、微秒運算
In [5]: (datetime.now()-timedelta(days=1)).strftime('%Y%m%d') # 1天前,N天前
Out[5]: '20161008'
In [6]: (datetime.now()-timedelta(hours=1)).strftime('%Y/%m/%d %H:%M:%S') # 1小時前,n小時前
Out[6]: '2016/10/09 16:00:02'
同上,weeks表示周為單位,second表示秒為單位,milliseconds表示毫秒為單位, microseconds微秒為單位。
其實就是給 timedelta() 這個類傳入的參數變一下就可以了:
可傳入的參數有 timedelta(weeks, days, hours, second, milliseconds, microseconds) 每個參數都是可選參數,默認值為0,參數值必須是這些(整數,浮點數,正數,負數)。
優秀人才不缺工作機會,只缺適合自己的好機會。但是他們往往沒有精力從海量機會中找到最適合的那個。
100offer 會對平臺上的人才和企業進行嚴格篩選,讓「最好的人才」和「最好的公司」相遇。
Python中文社區俱樂部QQ群:274631467
掃描下方二維碼,註冊 100offer,談談你對下一份工作的期待。一周內,收到 5-10 個滿足你要求的好機會!專欄作者申請郵箱
pythonpost@163.com
— Life is short,we use Python —