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

Python?time時(shí)間格式化操作指南

 更新時(shí)間:2023年10月28日 14:23:47   作者:LSCBAiotAigc  
這篇文章主要給大家介紹了關(guān)于Python?time時(shí)間格式化操作的相關(guān)資料,Python中日期格式化是非常常見的操作,Python中能用很多方式處理日期和時(shí)間,轉(zhuǎn)換日期格式是一個(gè)常見的功能,需要的朋友可以參考下

1、時(shí)間戳轉(zhuǎn)換為指定格式日期

import time
 
t = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(t)
 
timestamp = time.time()
tuple_time = time.localtime(timestamp)
print(tuple_time)
 
print(time.strftime("%Y-%m-%d %H:%M:%S", tuple_time))

2、將字符串的時(shí)間轉(zhuǎn)換為時(shí)間戳

import time
import datetime
 
time_str = "2023-02-19 23:07:21"
time_struct = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
 
print(time_struct)
 
print(time.mktime(time_struct))
 
print(int(time.mktime(time_struct)))

3、Datetime詳細(xì)介紹

Python提供了多個(gè)內(nèi)置模塊用于操作日期時(shí)間,像calendar,time,datetime。time模塊我在之前的文章已經(jīng)有所介紹,它提供 的接口與C標(biāo)準(zhǔn)庫(kù)time.h基本一致。相比于time模塊,datetime模塊的接口則更直觀、更容易調(diào)用。今天就來(lái)講講datetime模塊。

datetime模塊定義了兩個(gè)常量:datetime.MINYEAR和datetime.MAXYEAR,分別表示datetime所能表示的最 小、最大年份。其中,MINYEAR = 1,MAXYEAR = 9999。(對(duì)于偶等玩家,這個(gè)范圍已經(jīng)足夠用矣~~)

datetime模塊定義了下面這幾個(gè)類:

  • datetime.date:表示日期的類。常用的屬性有year, month, day;
  • datetime.time:表示時(shí)間的類。常用的屬性有hour, minute, second, microsecond;
  • datetime.datetime:表示日期時(shí)間。
  • datetime.timedelta:表示時(shí)間間隔,即兩個(gè)時(shí)間點(diǎn)之間的長(zhǎng)度。
  • datetime.tzinfo:與時(shí)區(qū)有關(guān)的相關(guān)信息。(這里不詳細(xì)充分討論該類,感興趣的童鞋可以參考python手冊(cè))

:上面這些類型的對(duì)象都是不可變(immutable)的。

下面詳細(xì)介紹這些類的使用方式。

date類

date類表示一個(gè)日期。日期由年、月、日組成(地球人都知道~~)。date類的構(gòu)造函數(shù)如下:

class datetime.date(year, month, day):參數(shù)的意義就不多作解釋了,只是有幾點(diǎn)要注意一下:

  • year的范圍是[MINYEAR, MAXYEAR],即[1, 9999];
  • month的范圍是[1, 12]。(月份是從1開始的,不是從0開始的~_~);
  • day的最大值根據(jù)給定的year, month參數(shù)來(lái)決定。例如閏年2月份有29天;

date類定義了一些常用的類方法與類屬性,方便我們操作:

  • date.max、date.min:date對(duì)象所能表示的最大、最小日期;
  • date.resolution:date對(duì)象表示日期的最小單位。這里是天。
  • date.today():返回一個(gè)表示當(dāng)前本地日期的date對(duì)象;
  • date.fromtimestamp(timestamp):根據(jù)給定的時(shí)間戮,返回一個(gè)date對(duì)象;
  • datetime.fromordinal(ordinal):將Gregorian日歷時(shí)間轉(zhuǎn)換為date對(duì)象;(Gregorian Calendar :一種日歷表示方法,類似于我國(guó)的農(nóng)歷,西方國(guó)家使用比較多,此處不詳細(xì)展開討論。)

4、獲得三天前的時(shí)間的方法

import time
import datetime
 
time_str = "2023-02-19 23:07:21"
time_struct = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
 
print(datetime.datetime.now())
 
computed_time = datetime.datetime.now() - datetime.timedelta(days=3)
 
print(computed_time)
timestamp = time.mktime(computed_time.timetuple())
print(timestamp)
 
time_str = time.strftime("%Y-%m-%d %H:%M:%S", computed_time.timetuple())
print(time_str)

5、使用datetime模塊來(lái)獲取當(dāng)前的日期和時(shí)間

import time
import datetime
 
time_str = "2023-02-19 23:07:21"
time_struct = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
 
currentDate = datetime.datetime.now()
print(time.strftime("%Y-%m-%d %H:%M:%S", currentDate.timetuple()))
print(currentDate.year)
print(currentDate.month)
print(currentDate.day)
print(currentDate.hour)
print(currentDate.minute)
print(currentDate.second)

date提供的實(shí)例方法和屬性:

  • date.year、date.month、date.day:年、月、日;
  • date.replace(year, month, day):生成一個(gè)新的日期對(duì)象,用參數(shù)指定的年,月,日代替原有對(duì)象中的屬性。(原有對(duì)象仍保持不變)
  • date.timetuple():返回日期對(duì)應(yīng)的time.struct_time對(duì)象;
  • date.toordinal():返回日期對(duì)應(yīng)的Gregorian Calendar日期;
  • date.weekday():返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此類推;
  • data.isoweekday():返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此類推;
  • date.isocalendar():返回格式如(year,month,day)的元組;
  • date.isoformat():返回格式如'YYYY-MM-DD’的字符串;
  • date.strftime(fmt):自定義格式化字符串。在下面詳細(xì)講解。
import time
from datetime import datetime, date
 
time_str = "2023-02-19 23:07:21"
time_struct = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
 
now = date(2023, 1, 18)
print(time.strftime("%Y-%m-%d %H:%M:%S", now.timetuple()))
 
print(now.weekday())
print(now.isoformat())

date還對(duì)某些操作進(jìn)行了重載,它允許我們對(duì)日期進(jìn)行如下一些操作:

  • date2 = date1 + timedelta # 日期加上一個(gè)間隔,返回一個(gè)新的日期對(duì)象(timedelta將在下面介紹,表示時(shí)間間隔)
  • date2 = date1 - timedelta # 日期隔去間隔,返回一個(gè)新的日期對(duì)象
  • timedelta = date1 - date2 # 兩個(gè)日期相減,返回一個(gè)時(shí)間間隔對(duì)象
  • date1 < date2 # 兩個(gè)日期進(jìn)行比較

注: 對(duì)日期進(jìn)行操作時(shí),要防止日期超出它所能表示的范圍。

import time
from datetime import datetime, date, timedelta
 
time_str = "2023-02-19 23:07:21"
time_struct = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
 
currentDate = date.today()
print(time.strftime("%Y-%m-%d %H:%M:%S", currentDate.timetuple()))
 
time_delta = currentDate - timedelta(days=1)
print(time.strftime("%Y-%m-%d %H:%M:%S", time_delta.timetuple()))
 
print(currentDate > time_delta)
print(currentDate - time_delta)
 
print(time_delta + timedelta(days=3))

datetime類提供的實(shí)例方法與屬性(很多屬性或方法在date和time中已經(jīng)出現(xiàn)過(guò),在此有類似的意義,這里只羅列這些方法名,具體含義不再逐個(gè)展開介紹,可以參考上文對(duì)date與time類的講解。):

  • datetime.year、month、day、hour、minute、second、microsecond、tzinfo:
  • datetime.date():獲取date對(duì)象;
  • datetime.time():獲取time對(duì)象;
  • datetime. replace ([ year[ , month[ , day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] ] ] ]):
  • datetime. timetuple ()
  • datetime. utctimetuple ()
  • datetime. toordinal ()
  • datetime. weekday ()
  • datetime. isocalendar ()
  • datetime. isoformat ([ sep] )
  • datetime. ctime ():返回一個(gè)日期時(shí)間的C格式字符串,等效于time.ctime(time.mktime(dt.timetuple()));
  • datetime. strftime (format)

像date一樣,也可以對(duì)兩個(gè)datetime對(duì)象進(jìn)行比較,或者相減返回一個(gè)時(shí)間間隔對(duì)象,或者日期時(shí)間加上一個(gè)間隔返回一個(gè)新的日期時(shí)間對(duì)象。

總結(jié)

到此這篇關(guān)于Python time時(shí)間格式化操作的文章就介紹到這了,更多相關(guān)Python time時(shí)間格式化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論