time 模塊常用的與時間相關(guān)的類和函數(shù):
目前創(chuàng)新互聯(lián)已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、巧家網(wǎng)站維護等服務(wù),公司將堅持客戶導向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
time 模塊的 struct_time 類代表一個時間對象,可以通過 索引和屬性名 訪問值。 對應(yīng)關(guān)系如下:
索引 —— 屬性 值
0 —— tm_year(年) 如:1945
1 —— tm_mon(月) 1 ~ 12
2 —— tm_mday(日) 1 ~ 31
3 —— tm_hour(時) 0 ~ 23
4 —— tm_min(分) 0 ~ 59
5 —— tm_sec(秒) 0 ~ 61
6 —— tm_wday(周) 0 ~ 6
7 —— tm_yday(一年內(nèi)第幾天) 1 ~ 366
8 —— tm_isdst(夏時令) -1、0、1
localtime() 表示當前時間,返回類型為 struct_time 對象 ,示例如下所示:
輸出結(jié)果:
time()——返回當前時間的時間戳
gmtime([secs])——將時間戳轉(zhuǎn)換為格林威治天文時間下的 struct_time,可選參數(shù) secs 表示從 epoch 到現(xiàn)在的秒數(shù),默認為當前時間
localtime([secs])——與 gmtime() 相似,返回當?shù)貢r間下的 struct_time
mktime(t) localtime() 的反函數(shù)
asctime([t]) 接收一個 struct_time 表示的時間,返回形式為:Mon Dec 2 08:53:47 2019 的字符串
ctime([secs]) ctime(secs) 相當于 asctime(localtime(secs))
strftime(format[, t]) 格式化日期,接收一個 struct_time 表示的時間,并返回以可讀字符串表示的當?shù)貢r間
sleep(secs) 暫停執(zhí)行調(diào)用線程指定的秒數(shù)
altzone 本地 DST 時區(qū)的偏移量,以 UTC 為單位的秒數(shù)
timezone 本地(非 DST)時區(qū)的偏移量,UTC 以西的秒數(shù)(西歐大部分地區(qū)為負,美國為正,英國為零)
tzname 兩個字符串的元組:第一個是本地非 DST 時區(qū)的名稱,第二個是本地 DST 時區(qū)的名稱
基本使用如下所示:
strftime 函數(shù)日期格式化符號說明如下所示:
對于像'Wed, 11 Apr 2012 09:37:05 +0800'的時間格式化可如下解:
date='Wed,?11?Apr?2012?09:37:05?+0800'
dd=datetime.datetime.strptime(date,'%a,?%d?%b?%Y?%H:%M:%S?%z')
dd.strftime('%Y-%m-%d?%H:%M:%S')
Python格式化日期時間的函數(shù)為datetime.datetime.strftime();由字符串轉(zhuǎn)為日期型的函數(shù)為:datetime.datetime.strptime(),兩個函數(shù)都涉及日期時間的格式化字符串,列舉如下:
%a?Abbreviated?weekday?name???
%A?Full?weekday?name???
%b?Abbreviated?month?name???
%B?Full?month?name???
%c?Date?and?time?representation?appropriate?for?locale???
%d?Day?of?month?as?decimal?number?(01?-?31)???
%H?Hour?in?24-hour?format?(00?-?23)???
%I?Hour?in?12-hour?format?(01?-?12)???
%j?Day?of?year?as?decimal?number?(001?-?366)???
%m?Month?as?decimal?number?(01?-?12)???
%M?Minute?as?decimal?number?(00?-?59)???
%p?Current?locale's?A.M./P.M.?indicator?for?12-hour?clock???
%S?Second?as?decimal?number?(00?-?59)???
%U?Week?of?year?as?decimal?number,?with?Sunday?as?first?day?of?week?(00?-?51)???
%w?Weekday?as?decimal?number?(0?-?6;?Sunday?is?0)???
%W?Week?of?year?as?decimal?number,?with?Monday?as?first?day?of?week?(00?-?51)???
%x?Date?representation?for?current?locale???
%X?Time?representation?for?current?locale???
%y?Year?without?century,?as?decimal?number?(00?-?99)???
%Y?Year?with?century,?as?decimal?number???
%z,?%Z?Time-zone?name?or?abbreviation;?no?characters?if?time?zone?is?unknown???
%%?Percent?sign
python系統(tǒng)提供了下面常用的函數(shù):
1. 數(shù)學庫模塊(math)提供了很多數(shù)學運算函數(shù);
2.復數(shù)模塊(cmath)提供了用于復數(shù)運算的函數(shù);
3.隨機數(shù)模塊(random)提供了用來生成隨機數(shù)的函數(shù);
4.時間(time)和日歷(calendar)模塊提供了能處理日期和時間的函數(shù)。
注意:在調(diào)用系統(tǒng)函數(shù)之前,先要使用import 語句導入 相應(yīng)的模塊
該語句將模塊中定義的函數(shù)代碼復制到自己的程 序中,然后就可以訪問模塊中的任何函數(shù),其方 法是在函數(shù)名前面加上“模塊名.”。
希望能幫到你。
這需求折騰了我半天..
import time
import datetime as datetime
def late_time(time2):
# 先獲得時間數(shù)組格式的日期
#time2是外部傳入的任意日期
now_time = datetime.datetime.strptime(time2, '%Y-%m-%d')
#如需求是當前時間則去掉函數(shù)參數(shù)改寫 ? ? ?為datetime.datetime.now()
threeDayAgo = (now_time - datetime.timedelta(days =30))
# 轉(zhuǎn)換為時間戳
timeStamp =int(time.mktime(threeDayAgo.timetuple()))
# 轉(zhuǎn)換為其他字符串格式
otherStyleTime = threeDayAgo.strftime("%Y-%m-%d")
return otherStyleTime
a = late_time("2019-3-30")
print(a)# 打印2018-02-28