欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python之時(shí)間和日期使用小結(jié)

 更新時(shí)間:2019年02月14日 09:34:00   作者:小灰灰Blog  
這篇文章主要介紹了Python之時(shí)間和日期使用小結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

對(duì)于日期的操作可以說(shuō)是比較常見(jiàn)的case了,日期與格式化字符串互轉(zhuǎn),日期與時(shí)間戳互轉(zhuǎn),日期的加減操作等,下面主要介紹下常見(jiàn)的需求場(chǎng)景如何實(shí)現(xiàn)

1. 基本包引入

主要需要引入時(shí)間和日期的處理包,后面的基本操作都是基于此

import datetime
import time

2. 獲取當(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類(lèi)型,單位為s

now=time.time()
print(now)

b. datetime

直接調(diào)用now()函數(shù)獲取當(dāng)前時(shí)間,返回datetime類(lèi)型對(duì)象

now = datetime.datetime.now()
print(now)

3. 時(shí)間戳轉(zhuǎn)datetime

函數(shù): datetime.datetime.fromtimestamp()

將時(shí)間戳轉(zhuǎn)換為datetime類(lèi)型,因?yàn)楹笳呖梢赃M(jìn)行日期的計(jì)算(如常見(jiàn)的加減或者格式化)

# 獲取當(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)化星期名稱(chēng)
%A # 本地完整星期名稱(chēng)
%b # 本地簡(jiǎn)化的月份名稱(chēng)
%B # 本地完整的月份名稱(chēng)
%c # 本地相應(yīng)的日期表示和時(shí)間表示
%j # 年內(nèi)的一天(001-366)
%p # 本地A.M.或P.M.的等價(jià)符
%U # 一年中的星期數(shù)(00-53)星期天為星期的開(kāi)始
%w # 星期(0-6),星期天為星期的開(kāi)始
%W # 一年中的星期數(shù)(00-53)星期一為星期的開(kāi)始
%x # 本地相應(yīng)的日期表示
%X # 本地相應(yīng)的時(shí)間表示
%Z # 當(dāng)前時(shí)區(qū)的名稱(chēng)
%% # %號(hào)本身

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論