Python時間處理

1.Python有三個時間處理的模塊datetime,date苇侵,time.

1.1 datetime企锌、date撕攒、time都提供了strftime()方法格式化strftime()

格式化 解釋 格式化 解釋
%y 兩位數(shù)的年份表示(00-99) %B 本地完整的月份名稱
%Y 四位數(shù)的年份表示(000-9999) %c 本地相應(yīng)的日期表示和時間表示
%m 月份(01-12) %j 年內(nèi)的一天(001-366)
%d 月內(nèi)中的一天(0-31) %p 本地A.M.或P.M.的等價符
%H 24小時制小時數(shù)(0-23) %U 一年中的星期數(shù)(00-53)星期天為星期的開始
%I 12小時制小時數(shù)(01-12) %w 星期(0-6)萍鲸,星期天為星期的開始
%M 分鐘數(shù)(00=59) %W 一年中的星期數(shù)(00-53)星期一為星期的開始
%S 秒(00-59 ) %x 本地相應(yīng)的日期表示
%a 本地簡化星期名稱 %X 本地相應(yīng)的時間表示
%A 本地完整星期名稱 %Z 當(dāng)前時區(qū)的名稱
%b 本地簡化的月份名稱 %% %號本身

1.2 常見日期輸出方式

1.2.1 datetime

In [15]:import datetime

In [16]:datetime.datetime.now()
Out[16]: datetime.datetime(2016, 8, 14, 10, 34, 24, 230000)

1.2.2 timestamp

In [17]:import time

In [18]:time.time()
Out[18]: 1471142250.306

1.2.3 time tuple

In [19]:import time

In [20]:time.localtime()
Out[20]: time.struct_time(tm_year=2016, tm_mon=8, tm_mday=14, 
            tm_hour=10, tm_min=38, tm_sec=42, tm_wday=6, tm_yday=227, tm_isdst=0)

1.2.4 string

In [21]:import datetime

In [22]:datetime.datetime.now().strftime("%Y-%m-%d %H:%M%S")
Out[22]: '2016-08-14 10:5115'

1.2.5 date

In [23]:import datetime

In [24]:datetime.datetime.now().date()
Out[24]: datetime.date(2016, 8, 14)

2.1 datetime基本操作

2.1.1 獲取當(dāng)前datetime

In [25]:import datetime

In [26]:datetime.datetime.now()
Out[26]: datetime.datetime(2016, 8, 14, 10, 57, 27, 783000)

2.1.2 獲取當(dāng)前date

In [27]:import datetime

In [28]:datetime.date.today()
Out[28]: datetime.date(2016, 8, 14)

2.1.3 獲取明天/前N天

In [29]:import datetime

In [30]:datetime.date.today()+datetime.timedelta(days=1)
Out[30]: datetime.date(2016, 8, 15)

2.1.4 三天前

In [31]:import datetime

In [32]:datetime.date.today()-datetime.timedelta(days=3)
Out[32]: datetime.date(2016, 8, 11)

2.1.5 獲取當(dāng)天開始和結(jié)束時間(00:00:00 23:59:59)

In [33]:datetime.datetime.combine(datetime.date.today(), datetime.time.min)
Out[33]: datetime.datetime(2016, 8, 14, 0, 0)

In [34]:datetime.datetime.combine(datetime.date.today(), datetime.time.max)
Out[34]: datetime.datetime(2016, 8, 14, 23, 59, 59, 999999)

2.1.6 獲取兩個datetime的時間差

In [36]:(datetime.datetime(2017,1,13,12,0,0)-datetime.datetime.now())
Out[36]: datetime.timedelta(152, 3104, 273000)


In [37]:(datetime.datetime(2017,1,13,12,0,0)-datetime.datetime.now()).total_seconds()
Out[37]: 13135887.501

2.1.7 獲取本周/本月/上月最后一天

#本周
In [40]:today = datetime.date.today()

In [40]:today
Out[40]: datetime.date(2016, 8, 14)

In [41]:sunday = today+datetime.timedelta(6-today.weekday())

In [41]:sunday
Out[42]: datetime.date(2016, 8, 14)

#本月
In [43]:import calendar

In [44]:today = datetime.date.today()
In [45]: today
Out [45]: today
 (0, 31)
In [46]:last_day_num = calendar.monthrange(today.year, today.month)

In [47]:last_day = datetime.date(today.year, today.month, last_day_num[1])
Out[48]: datetime.date(2016, 8, 31)

#獲取上個月的最后一天(可能跨年)
In [49]:import datetime
In [50]:today = datetime.date.today()
In [51]:today
Out[51]: datetime.date(2016, 8, 14)

In [52]:first = datetime.date(day=1,month=today.month,year=today.year)
In [53]:first
Out[53]: datetime.date(2016, 8, 1)

In [54]:lastMonth = first-datetime.timedelta(days=1)
In [55]:lastMonth
Out[55]: datetime.date(2016, 7, 31)

3 關(guān)系之間的轉(zhuǎn)換 Datetime / String / timestamp / time tuple

3.1datetime <=> string

3.1.1 datetime -> string

In [56]:import datetime

In [57]:datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
Out[57]: '2016-08-14 17:26:42'

3.1.2 string -> datetime

In [72]:import datetime
In [73]:datetime.datetime.strptime("2016-08-14 12:35:57","%Y-%m-%d %H:%M:%S")
Out[73]: datetime.datetime(2016, 8, 14, 12, 35, 57)

3.2 datetime <=> timetuple

3.2.1 datetime -> timetuple

In [74]:import datetime
In [75]:datetime.datetime.now().timetuple()
Out[75]: time.struct_time(tm_year=2016, tm_mon=8, tm_mday=14, tm_hour=17, 
       tm_min=31, tm_sec=58, tm_wday=6, tm_yday=227, tm_isdst=-1)

3.3 datetime <=> date

3.3.1 datetime -> date

In [76]:import datetime
In [77]:datetime.datetime.now().date()
Out[77]: datetime.date(2016, 8, 14)

3.3.2 datetime -> date

In [78]:import datetime
In [79]:datetime.date.today()
Out[79]: datetime.date(2016, 8, 14)

In [80]:today = datetime.date.today()
today
Out[80]: datetime.date(2016, 8, 14)

In [81]:datetime.datetime.combine(today,datetime.time())
Out[81]: datetime.datetime(2016, 8, 14, 0, 0)

In [82]:datetime.datetime.combine(today,datetime.time.min)
Out[82]: datetime.datetime(2016, 8, 14, 0, 0)

3.4 datetime <=> timestamp

3.4.1datetime -> timestamp

In [83]:import datetime
In [84]:now = datetime.datetime.now()
In [85]:now
Out[85]: datetime.datetime(2016, 8, 14, 17, 40, 44, 757000)
In [86]:timestamp = time.mktime(now.timetuple())
In [87]:timestamp
Out[87]: 1471167644.0

3.4.2 timestamp -> datetime

In [88]:import datetime
In [89]:datetime.datetime.fromtimestamp(1421077403.0)
Out[89]: datetime.datetime(2015, 1, 12, 23, 43, 23)

學(xué)習(xí)內(nèi)容來自網(wǎng)站

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末状知,一起剝皮案震驚了整個濱河市孽查,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瓣铣,老刑警劉巖贷揽,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件禽绪,死亡現(xiàn)場離奇詭異印屁,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)从橘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門洋满,熙熙樓的掌柜王于貴愁眉苦臉地迎上來牺勾,“玉大人阵漏,你說我怎么就攤上這事』鼗梗” “怎么了叹洲?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵蝗柔,是天一觀的道長民泵。 經(jīng)常有香客問我,道長胁编,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任早直,我火速辦了婚禮莽鸿,結(jié)果婚禮上拾给,老公的妹妹穿的比我還像新娘。我一直安慰自己级及,他們只是感情好额衙,可當(dāng)我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布县踢。 她就那樣靜靜地躺著伟件,像睡著了一般。 火紅的嫁衣襯著肌膚如雪谴返。 梳的紋絲不亂的頭發(fā)上咧织,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天习绢,我揣著相機(jī)與錄音,去河邊找鬼梧却。 笑死篮幢,一個胖子當(dāng)著我的面吹牛为迈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播搜锰,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼蛋叼,長吁一口氣:“原來是場噩夢啊……” “哼剂陡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起歌馍,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤松却,失蹤者是張志新(化名)和其女友劉穎晓锻,沒想到半個月后飞几,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡窟社,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年灿里,在試婚紗的時候發(fā)現(xiàn)自己被綠了匣吊。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寸潦。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡见转,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出吏砂,到底是詐尸還是另有隱情,我是刑警寧澤淀歇,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布浪默,位于F島的核電站缀匕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏阔加。R本人自食惡果不足惜劲件,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一零远、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧摔癣,春花似錦纬向、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吃警。三九已至,卻和暖如春酌心,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背墩崩。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工泰鸡, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留壳鹤,地道東北人。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓余舶,卻偏偏與公主長得像锹淌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子挟憔,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容