成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一篇文章總結(jié)一下Python庫(kù)中關(guān)于時(shí)間的常見(jiàn)操作

開(kāi)發(fā) 后端
本次來(lái)總結(jié)一下關(guān)于Python時(shí)間的相關(guān)操作,有一個(gè)有趣的問(wèn)題。

[[355109]]

 前言

本次來(lái)總結(jié)一下關(guān)于Python時(shí)間的相關(guān)操作,有一個(gè)有趣的問(wèn)題。

如果你的業(yè)務(wù)用不到時(shí)間相關(guān)的操作,你的業(yè)務(wù)基本上會(huì)一直用不到。

但是如果你的業(yè)務(wù)一旦用到了時(shí)間操作,你就會(huì)發(fā)現(xiàn),淦,到處都是時(shí)間操作。。。

所以思來(lái)想去,還是總結(jié)一下吧,本次會(huì)采用類(lèi)型注解方式。

time包

  1. import time 

時(shí)間戳

從1970年1月1日00:00:00標(biāo)準(zhǔn)時(shí)區(qū)誕生到現(xiàn)在時(shí)間一共過(guò)了多少秒。

代碼

  1. timestamp = time.time()  # type:float 
  2. print(timestamp, type(timestamp)) 

執(zhí)行結(jié)果

  

睡眠

有時(shí)候可能我們可能需要模仿一些IO請(qǐng)求,假裝讓程序休眠一下,所以需要用到time的sleep函數(shù)。

代碼

  1. # 睡眠 1秒 
  2. time.sleep(1) 

本地時(shí)區(qū)

本地時(shí)區(qū)需要用到time的localtime方法。

代碼

  1. t = time.localtime()  # type:time.struct_time 
  2. print(t, type(t)) 

執(zhí)行結(jié)果


localtime還能接收一個(gè)時(shí)間戳參數(shù)。

代碼

  1. # 將時(shí)間戳轉(zhuǎn)換成 struct_time 對(duì)象 
  2. t = time.localtime(1606395685.1878598)  # type:time.struct_time 
  3. print(t, type(t)) 

執(zhí)行結(jié)果


 簡(jiǎn)單的時(shí)間格式

代碼

  1. t = time.ctime()  # type:str 
  2. print(t, type(t)) 

執(zhí)行結(jié)果


雖然這個(gè)能把時(shí)間展示出來(lái),但是這個(gè)格式實(shí)在是不是太好看。

同理,time.ctime()也是可以接收一個(gè)時(shí)間戳的。

代碼

  1. t = time.ctime(1606395685.1878598)  # type:str 
  2. print(t, type(t)) 

執(zhí)行結(jié)果


時(shí)間格式化

日期格式 -> 字符串(strftime)

代碼

  1. t = time.localtime()  # type:time.struct_time 
  2. t_str = time.strftime("%Y-%m-%d", t)  # type:str 
  3. print(t_str, type(t_str)) 

執(zhí)行結(jié)果

 

字符串日期 -> 日期(strptime)

代碼

  1. t_str = "2020-11-02" 
  2. t_time = time.strptime(t_str, "%Y-%m-%d")  # type:time.struct_time 
  3. print(t_time, type(t_time)) 

執(zhí)行結(jié)果

 

格式化補(bǔ)充

主要有如下格式

具體詳見(jiàn):

https://www.runoob.com/python/python-date-time.html

datetime包

注:datetime和time是兩個(gè)不同的類(lèi)型,不能混用。

  1. from datetime import datetime 

datetime.today()

代碼

  1. t = datetime.today()  # type:datetime 
  2. print(t, type(t)) 
  3. print(t.year)  # 年份 
  4. print(t.month)  # 月份 

執(zhí)行結(jié)果


datetime.now()

和datetime.today()基本一樣,返回的是本地時(shí)間。

代碼

  1. t = datetime.now()  # type:datetime 
  2. print(t,type(t)) 

執(zhí)行結(jié)果


datetime.utcnow()

utcnow返回的是標(biāo)準(zhǔn)(UTC)時(shí)間,上述倆返回的都是本地時(shí)間,我們是東八區(qū)!

代碼

  1. t = datetime.now() 
  2. print("東八區(qū)時(shí)間:", t) 
  3. t = datetime.utcnow()  # type:datetime 
  4. print("UTC時(shí)間:", t) 

執(zhí)行結(jié)果


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

有時(shí)候,我們拿到的,就是時(shí)間戳,那就只能轉(zhuǎn)了。

代碼

  1. # 時(shí)間戳 
  2. timestamp = time.time() 
  3. print(f"timestamp:{timestamp},type:{type(timestamp)}"
  4. # 時(shí)間戳轉(zhuǎn)datetime 
  5. t = datetime.fromtimestamp(timestamp
  6. print(f"t:{t},type:{type(t)}"

執(zhí)行結(jié)果


datetime -> 字符串日期(strftime)

代碼

  1. from datetime import datetime 
  2.  
  3. t = datetime.now() 
  4. str_datetime = t.strftime("%Y-%m-%d %H:%M:%S"
  5. print(f"字符串日期:{str_datetime},type:{type(str_datetime)}"

執(zhí)行結(jié)果

 

字符串日期 -> datetime(strptime)

代碼

  1. from datetime import datetime 
  2.  
  3. str_datetime = "2020-11-29 22:05:20" 
  4. t = datetime.strptime(str_datetime, "%Y-%m-%d %H:%M:%S"
  5. print(f"t:{t},type:{type(t)}"

執(zhí)行結(jié)果


時(shí)間加減

這才是本次的重頭戲,好像只有datetime這個(gè)包,才有時(shí)間加減的。

時(shí)間加減的具體用途很多,必須多久過(guò)期什么的,多久之后提醒,都需要提前計(jì)算時(shí)間,還是很重要的。

代碼

  1. from datetime import datetime 
  2. import datetime as idatetime 
  3.  
  4. t = datetime.now() 
  5. print(f"當(dāng)前時(shí)間:{t}"
  6. three_day = t + idatetime.timedelta(days=3) 
  7. print(f"三天后時(shí)間:{three_day}"

執(zhí)行結(jié)果


可以發(fā)現(xiàn),這個(gè)時(shí)間確實(shí)是+成功了。

但是自帶的時(shí)間加減,有個(gè)題,只能加天,不能加月,甚至年。

如果想要時(shí)間+月等,還要自己寫(xiě)邏輯。

datetime時(shí)間自由加減

有個(gè)包正好解決了這個(gè)問(wèn)題。

安裝

  1. pip install python-dateutil 

代碼

  1. from datetime import datetime 
  2. from dateutil.relativedelta import relativedelta 
  3.  
  4. t = datetime.now() 
  5. print(f"當(dāng)前時(shí)間:{t}"
  6. three_time = t + relativedelta(months=3) 
  7. print(f"三個(gè)月后時(shí)間:{three_time}"
  8. one_year = t+relativedelta(years=1) 
  9. print(f"一年后時(shí)間:{one_year}"
  10. up_year = t+relativedelta(years=-1) 
  11. print(f"去年這個(gè)時(shí)間:{up_year}"

執(zhí)行結(jié)果

用法很簡(jiǎn)單,如果想加月/年份,就寫(xiě)正數(shù),如果想減,就寫(xiě)負(fù)數(shù),這個(gè)方法基本上將python在操作時(shí)間上的缺點(diǎn)給彌補(bǔ)了。

總結(jié)

本篇主要講述的是關(guān)于Python時(shí)間的相關(guān)總結(jié),相對(duì)來(lái)說(shuō),更推薦使用datetime。

需要注意的是,time和datetime是倆類(lèi)型,是不能混用的。

其實(shí)最重要的是字符串時(shí)間->時(shí)間類(lèi)型,這個(gè)在實(shí)際中用的非常多!

順便還有python-dateutil的relativedelta相關(guān)方法,能夠自由加減時(shí)間,算是挺方便的。

 

責(zé)任編輯:姜華 來(lái)源: Python爬蟲(chóng)與數(shù)據(jù)挖掘
相關(guān)推薦

2021-11-13 10:11:45

Pythonurllib庫(kù)Python基礎(chǔ)

2021-05-18 08:30:42

JavaScript 前端JavaScript時(shí)

2021-05-18 09:00:28

Python類(lèi)class

2020-10-09 08:15:11

JsBridge

2019-09-24 14:19:12

PythonC語(yǔ)言文章

2020-12-18 09:06:42

模塊Python系統(tǒng)

2021-11-17 10:11:08

PythonLogging模塊

2021-05-15 09:18:04

Python進(jìn)程

2021-01-05 09:07:30

Django ORMF查詢Q查詢

2021-11-10 09:19:41

PythonShutil模塊

2020-12-29 09:05:48

基礎(chǔ)DjangoORM

2017-01-20 15:01:19

2017-09-05 08:52:37

Git程序員命令

2021-08-12 14:19:14

Slice數(shù)組類(lèi)型內(nèi)存

2022-02-21 09:44:45

Git開(kāi)源分布式

2023-05-12 08:19:12

Netty程序框架

2019-04-17 15:16:00

Sparkshuffle算法

2021-04-09 08:40:51

網(wǎng)絡(luò)保險(xiǎn)網(wǎng)絡(luò)安全網(wǎng)絡(luò)風(fēng)險(xiǎn)

2021-06-30 00:20:12

Hangfire.NET平臺(tái)

2024-06-25 08:18:55

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 黄色一级大片视频 | 国产丝袜一区二区三区免费视频 | 波多野结衣在线观看一区二区三区 | 在线观看国产视频 | www久久爱| 日日想夜夜操 | 欧美美女一区二区 | 在线观看亚洲精品 | 欧美无乱码久久久免费午夜一区 | 日日夜夜天天综合 | 日韩一区二区在线观看视频 | 欧美二级 | 最新一级毛片 | 日韩成人精品 | 一区二区三区免费 | 日韩网站在线观看 | 视频在线h | 国产精品一区久久久 | 99久热在线精品视频观看 | 日韩在线h | 久久高清免费视频 | 日韩一二区 | 国产精品久久 | 福利在线观看 | 国产线视频精品免费观看视频 | 成人在线不卡 | 欧美jizzhd精品欧美巨大免费 | 亚洲精品综合一区二区 | 高清成人免费视频 | 久久婷婷麻豆国产91天堂 | 久久久久久免费精品一区二区三区 | 无码日韩精品一区二区免费 | 亚洲综合色视频在线观看 | 欧美一区二区三区免费电影 | 亚洲欧美在线观看 | 国产精品久久在线观看 | 久久久精品一区二区三区 | 九色www| 91国内精品久久 | 日韩精品在线观看一区二区 | 国产精品一区在线观看 |