日期格式有0 Python中的對日期時間的處理

2021-10-14 16:13:13 字數 4246 閱讀 7671

我們可以通過學習在python中對日期時間的處理,可以在快速的完成工作,比如:

在python的程式可以使用很多的方式處理日期和時間,轉換日期格式是乙個常見的功能。python中提供了乙個time和calender的模組可以用來做格式化日期和時間的。時間間隔都是以秒為單位的浮點小數。

在電腦中的時間都是由cpu儲存,所以一般呢也叫做cpu時間, cpu時間是計算從2023年1月1日0點0分到目前這個時間點所經歷的的秒數來表示,同時又可以稱為時間戳。

1.time模組

1.1匯入time模組

首先使用import匯入time模組

1.2檢視時間戳

使用time.time函式檢視當前的時間戳為多少,time.time的作用是返回當前時間的時間戳

1.3返回當地時間

使用time.localtime函式,將當前時間戳返回為本地的時間,返回的引數有9個:

序號屬性字段值0tm_year4位數年20081tm_mon月1-122tm_mday日1-313tm_hour小時0-234tm_min分鐘0-595tm_sec秒0-61(60或61 是閏秒)6tm_wday一周的第幾日0-6(0為周一)7tm_yday一年的第幾日1-365(儒略曆)8tm_isdst夏令時-1,0,1 -1是決定是否為夏令時的旗幟

可以通過這9個返回的引數判斷當前的時間

1.4暫停**執行時間

time.sleep暫停**的執行時間,time.sleep函式的作用是推遲呼叫執行緒的執行,可以通過引數secs指秒數,表示程序掛起的時間。

1.5計算時間點

函式time.clock是以浮點數計算的秒數返回當前的cpu時間。這個函式在不同的系統上的含義也是不同的, 在unix系統上,它返回的是"程序時間",它是用秒表示的浮點數(時間戳)。而在windows中,第一次呼叫,返回的是程序執行的實際時間。而第二次之後的呼叫是自第一次呼叫以後到現在的執行時間。(實際上是以win32上queryperformancecounter為基礎,它比毫秒表示更為精確)

1.6獲取格式化的時間

我們可以根據需求選取各種格式,但是最簡單的獲取可讀的時間模式的函式是asctime:

time.asctime函式接受時間元組並返回乙個可讀的形式」5月7日,周天,13點20分26秒,2023年」的24個字元的字串。引數是9個元素的元組或者通過函式gmtime或localtime函式返回的時間值。

1.7格式化日期

通過time模組中strftime方法來格式化日期:

time.strftime函式接收時間元組,並返回以可讀字串表示薪資的時間,格式的話由引數format決定。

1.8解析時間

time.strptime(str,fmt=』%a %b %d %h:%m:%s %y』)根據fromt的格式把乙個時間字串解析為時間元組。

在python中有22個時間日期的格式化符號,通過這些符號就可以設定引數format了:

2.calendar模組

calendar模組是與日曆相關的模組,但也有很廣泛的方法來處理年曆和月曆,例如列印某月的月曆:

使用claendar.month函式生成月份的日曆。

在claendar模組中有12種函式,是比較常用的:

2.1 calendar.calendar(year,w=2,i=1,c=6,m=3)

返回乙個多行字串格式的year年年曆,3個月為一行,間隔距離為c,每日寬度間隔為w字元,每行長度為21w+18+2c,i是每星期行數

返回乙個多行字串格式的year年month月日曆,兩行標題,一周一行。每日寬度間隔為w字元,每行的長度為7*w+6,i是每星期的行數。

返回乙個整數的單層巢狀列表,每個子列表裝載代表乙個星期的整數,year年month月外的日期都設為0,範圍內的日子都由該月第幾日表示,從1開始。

2.7 calendar.monthrange(year,month)

返回兩個整數,第乙個是該月第一天是星期幾的日期碼,第二個是該月天數的日期碼,天是從0(星期一)到6(星期日);月是從1-12。

2.8calendar.prcal(year,w=2,i=1,c=6)

相當於是print(calendar.calendar(year,w,i,c))

相當於print(calendar.calendar(year,w,i,c))

設定每週的起碼日期碼。0(星期一)到6(星期日)

2.11 calendar.timegm(tupletime)

和time.gmtime相反:接受乙個時間元組形式,返回該時刻的時間戳(2023年後的浮點秒數)

2.12 calendar.weekday(year,month,day)

返回給定日期的日期碼。0(周一)到6(週日),月份為1-12。

3.datetime模組

datetime模組是python處理日期和時間的標準庫

3.1獲取當前的日期

datetime.now函式的作用是返回當前日期和時間,返回的型別是datetime

3.2獲取指定日期和時間

如果要指定某個日期和時間呢,我們直接用引數構造乙個datetime也是可的:

通過datetime函式,直接輸入年月日時分的引數,來構造乙個指定的日期和時間

3.3datetime轉換為timestamp

在計算機中,時間實際上是用數字表示的,我們把2023年1月1日,00:00:00 utc+00;00時區的時刻成為epoch time,記為0(2023年之前的時間戳為負數),當前時間就是相對於epoch time的秒數,可以成為timestamp。

可以理解為:

timestamp = 0 = 1970-1-1 00:00:00 utc+0:00

拓展知識utc 和 epoch time

utc time,coordinated universal time,世界標準時間又稱為格林尼治時間,與utctime對應的是各個時區的localtime,東n區的時間比utc時間早n個小時因此utc+n小時,即為東n區的本地時間;而西n區時間比utc時間玩n個小時,即utc time – n小時即為西n區的本地時間;中國在東8區,因此比utc時間早了八個小時,可以以utc+8進行表示。

epoch time表示時間開始的七點;是乙個特定的時間,不同平台上的時間點不同,對於unix而言,epoch time 為1970-01-01 00:00:00 utc

首先轉換為時間戳格式

將時間戳格式的時間轉換為字串日期時間

設定時間的格式

3.4 datetime加減

對於日期和時間進行加減實際上呢就是把日期時間datetime往後或者往前計算,得到新的日期時間datetime。加減可以直接運用+和-預算符,不過需要呢匯入timedelta這個datetime模組下的類

在現在的時間加上10個小時的時間

在現在的時間上減去一天的時間

在現在的時間上加上2天12小時的時間

日期的格式,你用得對嗎?

在 ios 開發中,我碰到了奇怪的問題。dateformatter stringfromdate adate dateformatter 是乙個 nsdateformatter 物件。adate 是乙個 nsdate 物件,它的值為 2015 12 30 00 00。這段 是把這個 nsdate 轉...

對js中的Date擴充套件,格式化日期

對date的擴充套件,將 date 轉化為指定格式的string 月 m 日 d 12小時 h 24小時 h 分 m 秒 s 周 e 季度 q 可以用 1 2 個佔位符 年 y 可以用 1 4 個佔位符,毫秒 s 只能用 1 個佔位符 是 1 3 位的數字 eg new date format yy...

python中時間日期格式符號

1 y 兩位數的年份表示 00 99 2 y 四位數的年份表示 000 9999 3 m 月份 01 12 4 d 月內中的一天 0 31 5 h 24小時制小時數 0 23 6 i 12小時制小時數 01 12 7 m 分鐘數 00 59 8 s 秒 00 59 9 a 本地簡化星期名稱 10 a...