摘要:對(duì)于日期的操作可以說(shuō)是比較常見的了日期與格式化字符串互轉(zhuǎn),日期與時(shí)間戳互轉(zhuǎn),日期的加減操作等,下面主要介紹下常見的需求場(chǎng)景如何實(shí)現(xiàn)基本包引入主要需要引入時(shí)間和日期的處理包,后面的基本操作都是基于此獲取當(dāng)前時(shí)間獲取當(dāng)前時(shí)間,有幾種方式
對(duì)于日期的操作可以說(shuō)是比較常見的case了,日期與格式化字符串互轉(zhuǎn),日期與時(shí)間戳互轉(zhuǎn),日期的加減操作等,下面主要介紹下常見的需求場(chǎng)景如何實(shí)現(xiàn)
1. 基本包引入主要需要引入時(shí)間和日期的處理包,后面的基本操作都是基于此
import datetime import time2. 獲取當(dāng)前時(shí)間
獲取當(dāng)前時(shí)間,有幾種方式,分別使用time和datetime來(lái)演示
a. time獲取當(dāng)前時(shí)間,格式化為字符串輸出
now = time.strftime("%Y-%m-%d %H:%M:%S") print(now)
獲取當(dāng)前時(shí)間,以時(shí)間戳方式輸出,結(jié)果為float類型,單位為s
now=time.time() print(now)b. datetime
直接調(diào)用now()函數(shù)獲取當(dāng)前時(shí)間,返回datetime類型對(duì)象
now = datetime.datetime.now() print(now)3. 時(shí)間戳轉(zhuǎn)datetime
函數(shù): datetime.datetime.fromtimestamp()
將時(shí)間戳轉(zhuǎn)換為datetime類型,因?yàn)楹笳呖梢赃M(jìn)行日期的計(jì)算(如常見的加減或者格式化)
# 獲取當(dāng)前的時(shí)間戳 now = time.time() # 將時(shí)間差轉(zhuǎn)換為datetime對(duì)象 date = datetime.datetime.fromtimestamp(now) print(date)4. 時(shí)間戳轉(zhuǎn)格式化日期 a. time
函數(shù) time.strftime(format, localtime) 和 time.localtime(timestamp)
借助time的time.strftime函數(shù)來(lái)實(shí)現(xiàn)轉(zhuǎn)換,這里還需要做一個(gè)額外的處理,將時(shí)間戳轉(zhuǎn)換為struct_time 對(duì)象
now = time.time() # 首先格式化時(shí)間戳為struct_time對(duì)象,接著格式化輸出 time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(now))b. datetime
函數(shù) datetime.datetime.fromtimestamp 與 datetime.datetime.strftime()
借助前面的知識(shí)點(diǎn)即可實(shí)現(xiàn),先將timestamp轉(zhuǎn)換為datetime, 然后將datetime格式化為字符串
now=time.time() date =datetime.datetime.fromtimestamp(now) date.strftime("%Y-%m-%d %H:%M:%S")5. 字符串轉(zhuǎn)時(shí)間戳
函數(shù) strptime(str) 與 time.mktime(struct_time)
前面格式化輸出字符串時(shí),主要利用的是strftime,這里則主要使用 strptime
now="2019-02-11 18:45:22" struct_time=time.strptime(now , "%Y-%m-%d %H:%M:%S") timestamp=time.mktime(struct_time)6. 字符串轉(zhuǎn)datetime
函數(shù) datetime.datetime.strptime(str, format)
依然使用strptime函數(shù)來(lái)實(shí)現(xiàn)轉(zhuǎn)換
now="2019-02-11 18:45:22" date=datetime.datetime.strptime(now, "%Y-%m-%d %H:%M:%S")7. datetime 轉(zhuǎn)字符串
函數(shù) datetime.datetime.strftime(format)
利用strftime來(lái)實(shí)現(xiàn)
now = datetime.datetime.now() now.strftime("%Y-%m-%d %H:%M:%S")8. datetime 轉(zhuǎn)時(shí)間戳
函數(shù) datetime.datetime.timestamp()
結(jié)合前面的這個(gè)就比較好實(shí)現(xiàn)了
now = datetime.datetime.now() now.timestamp()9. datetime轉(zhuǎn)struct_time
now = datetime.datetime.now() # 轉(zhuǎn)換為 struct_time 對(duì)象 t=now.timetuple() # struct_time 輸出時(shí)間戳 timestamp=time.mktime(t)10. 日期加減操作
函數(shù) datetime.timedelta
日期的加減操作,這里主要是datetime對(duì)象來(lái)操作,一個(gè)簡(jiǎn)單的例子如下
now = datetime.datetime.now() # 前一小時(shí) d1 = now - datetime.timedelta(hours=1) print(d1.strftime("%Y-%m-%d %H:%S:%M")) # 前一天 d2 = now - datetime.timedelta(days=1) print(d2.strftime("%Y-%m-%d %H:%S:%M")) # 上周日 d3 = now - datetime.timedelta(days=now.isoweekday()) print(d3.strftime("%Y-%m-%d %H:%S:%M"), " ", d3.isoweekday()) # 上周一 d31 = d3 - datetime.timedelta(days=6) print(d31.strftime("%Y-%m-%d %H:%S:%M"), " ", d31.isoweekday()) # 上個(gè)月最后一天 d4 = now - datetime.timedelta(days=now.day) print(d3.strftime("%Y-%m-%d %H:%S:%M")) # 上個(gè)月第一天 print(datetime.datetime(d4.year, d4.month, 1))11. 格式化符號(hào)
%y # 兩位數(shù)的年份表示(00-99) %Y # 四位數(shù)的年份表示(000-9999) %m # 月份(01-12) %d # 月內(nèi)中的一天(0-31) %H # 24小時(shí)制小時(shí)數(shù)(0-23) %I # 12小時(shí)制小時(shí)數(shù)(01-12) %M # 分鐘數(shù)(00=59) %S # 秒(00-59) %a # 本地簡(jiǎn)化星期名稱 %A # 本地完整星期名稱 %b # 本地簡(jiǎn)化的月份名稱 %B # 本地完整的月份名稱 %c # 本地相應(yīng)的日期表示和時(shí)間表示 %j # 年內(nèi)的一天(001-366) %p # 本地A.M.或P.M.的等價(jià)符 %U # 一年中的星期數(shù)(00-53)星期天為星期的開始 %w # 星期(0-6),星期天為星期的開始 %W # 一年中的星期數(shù)(00-53)星期一為星期的開始 %x # 本地相應(yīng)的日期表示 %X # 本地相應(yīng)的時(shí)間表示 %Z # 當(dāng)前時(shí)區(qū)的名稱 %% # %號(hào)本身
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/43188.html
摘要:小結(jié)基本時(shí)間戳本地時(shí)間帶格式時(shí)間帶格式可以獲取你想要的東西轉(zhuǎn)換時(shí)間戳和時(shí)間戳轉(zhuǎn)轉(zhuǎn)時(shí)間戳轉(zhuǎn)換字符串和轉(zhuǎn)換格式化字符串和時(shí)間戳不可以基本類關(guān)系圖日期和時(shí)間差值計(jì)算的第一個(gè)參數(shù)抽象類會(huì)用到?jīng)] [TOC] python -- time datetime小結(jié) time 基本 import time time.time() Out[3]: 1561107970.0175698 # 時(shí)間戳 tim...
小編寫這篇文章的主要目的,主要是給大家進(jìn)行講解關(guān)于Python相關(guān)內(nèi)容的事情,主要是涉及到一些標(biāo)準(zhǔn)庫(kù)里面的一些事情,比如會(huì)涉及到dateime相關(guān)的模塊用法問(wèn)題,下面就給大家做個(gè)比較詳細(xì)解答?! ?、日期時(shí)間對(duì)象 日期時(shí)間對(duì)象是指具有日期(年月日)和時(shí)間(時(shí)分秒)雙重屬性的實(shí)例 日期時(shí)間對(duì)象的類型為datetime.datetime 日期時(shí)間對(duì)象常用的屬性有年、月、日、時(shí)、分、秒、微秒 ...
摘要:本人年開發(fā)經(jīng)驗(yàn),現(xiàn)就職于電信,因工作需要學(xué)習(xí),記錄自己的學(xué)習(xí)記錄。 本人java10年開發(fā)經(jīng)驗(yàn),現(xiàn)就職于電信,因工作需要學(xué)習(xí)python,記錄自己的學(xué)習(xí)記錄。后面也...
摘要:是回調(diào)函數(shù),當(dāng)鏈接服務(wù)器和相應(yīng)數(shù)據(jù)傳輸完畢時(shí)觸發(fā)本函數(shù)可選。僅僅是針對(duì)的,在中,已經(jīng)沒(méi)有這個(gè)模塊了,取代它的是。由于以流式讀取文件,從而速度較快,切少占用內(nèi)存,但是操作上稍復(fù)雜,需要用戶實(shí)現(xiàn)回調(diào)函數(shù)。 編寫模塊 模塊是程序 模塊就是一個(gè)擴(kuò)展名為.py的Python程序。 編寫模塊 #!/usr/bin/env python # coding=utf-8 lang = python 引...
閱讀 944·2021-11-23 09:51
閱讀 1004·2021-11-18 10:02
閱讀 1942·2021-09-10 11:27
閱讀 3153·2021-09-10 10:51
閱讀 791·2019-08-29 15:13
閱讀 2077·2019-08-29 11:32
閱讀 2509·2019-08-29 11:25
閱讀 3055·2019-08-26 11:46