這需求折騰了我半天..
我們提供的服務(wù)有:網(wǎng)站制作、成都做網(wǎng)站、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、陵水黎族ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的陵水黎族網(wǎng)站制作公司
import time
import datetime as datetime
def late_time(time2):
# 先獲得時(shí)間數(shù)組格式的日期
#time2是外部傳入的任意日期
now_time = datetime.datetime.strptime(time2, '%Y-%m-%d')
#如需求是當(dāng)前時(shí)間則去掉函數(shù)參數(shù)改寫 ? ? ?為datetime.datetime.now()
threeDayAgo = (now_time - datetime.timedelta(days =30))
# 轉(zhuǎn)換為時(shí)間戳
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
# 文字版:
# -*- coding: utf-8 -*-
# 輔助函數(shù):把月和日轉(zhuǎn)化成小數(shù)格式,方便比較。比如六月三日就轉(zhuǎn)化成6.3
def md2f(m,d):
return (m) + (d)*0.1
# 這個(gè)函數(shù)用來截取需要的時(shí)間段
def getDateRange(dates,startMonth,startDate,endMonth,endDate):
rangedDates = {} ? ? ? ? #先定義一個(gè)空字典,過會(huì)把符合要求的值都添進(jìn)去
for k in dates.keys():? ? ? ? #用一個(gè)loop,把原本字典里所有的內(nèi)容都檢查一遍
? y = int(k.split("/")[0])? #從“年/月/日“的格式里面提取出y=年、m=月、d=日
? m = int(k.split("/")[1])
? d = int(k.split("/")[2])
? # 進(jìn)行比較,如果月、日符合所給定的時(shí)間段,那就把這一項(xiàng)添到新字典里去
? if md2f(startMonth,startDate) md2f(m,d) md2f(endMonth,endDate):
? ? ? rangedDates[k] = dates[k]
? ?
return rangedDates ? ? ? # 返回新字典,這里面就是所有符合時(shí)間段的日期了。
sampleDates = {"1984/2/10":1,"1984/5/15":9,"1984/6/16":3,"1984/9/12":6,"1984/11/12":8,"1985/8/1":7}
print getDateRange(sampleDates,6,1,10,1)? ? #調(diào)用函數(shù),找到六月一號(hào)到十月一號(hào)之間的日期
python做數(shù)據(jù)分析時(shí)下面就是提取一個(gè)月數(shù)據(jù)的教程1. datetime庫(kù)
1.1 datetime.date
1) datetime.date.today() 返回今日,輸出的類型為date類
import datetime
today = datetime.date.today()
print(today)
print(type(today))
– 輸出的結(jié)果為:
2020-03-04
class 'datetime.date'
將輸出的結(jié)果轉(zhuǎn)化為常見數(shù)據(jù)類型(字符串)
print(str(today))
print(type(str(today)))
date = str(today).split('-')
year,month,day = date[0],date[1],date[2]
print('今日的年份是{}年,月份是{}月,日子是{}號(hào)'.format(year,month,day))
– 輸出的結(jié)果為:(轉(zhuǎn)化為字符串之后就可以直接進(jìn)行操作)
2020-03-04
class 'str'
今日的年份是2020年,月份是03月,日子是04號(hào)
2) datetime.date(年,月,日),獲取當(dāng)前的日期
date = datetime.date(2020,2,29)
print(date)
print(type(date))
– 輸出的結(jié)果為:
2020-02-29
class 'datetime.date'
1.2 datetime.datetime
1) datetime.datetime.now()輸出當(dāng)前時(shí)間,datetime類
now = datetime.datetime.now()
print(now)
print(type(now))
– 輸出的結(jié)果為:(注意秒后面有個(gè)不確定尾數(shù))
2020-03-04 09:02:28.280783
class 'datetime.datetime'
可通過str()轉(zhuǎn)化為字符串(和上面類似)
print(str(now))
print(type(str(now)))
– 輸出的結(jié)果為:(這里也可以跟上面的處理類似分別獲得相應(yīng)的數(shù)據(jù),但是也可以使用下面更直接的方法來獲?。?/p>
2020-03-04 09:04:32.271075
class 'str'
2) 通過自帶的方法獲取年月日,時(shí)分秒(這里返回的是int整型數(shù)據(jù),注意區(qū)別)
now = datetime.datetime.now()
print(now.year,type(now.year))
print(now.month,type(now.month))
print(now.day,type(now.day))
print(now.hour,type(now.hour))
print(now.minute,type(now.minute))
print(now.second,type(now.second))
print(now.date(),type(now.date()))
print(now.date().year,type(now.date().year))
– 輸出的結(jié)果為:(首先注意輸出中倒數(shù)第二個(gè)還是上面的datetime.date對(duì)象,這里是用來做時(shí)間對(duì)比的,同時(shí)除了這里的datetime.datetime有這種方法,datetime.date對(duì)象也有。因?yàn)榇朔椒ǐ@取second是取的整型數(shù)據(jù),自然最后的不確定尾數(shù)就被取整處理掉了)
2020 class 'int'
3 class 'int'
4 class 'int'
9 class 'int'
12 class 'int'
55 class 'int'
2020-03-04 class 'datetime.date'
2020 class 'int'
網(wǎng)頁標(biāo)題:python截取日期函數(shù) 截取日期的函數(shù)
文章來源:http://jinyejixie.com/article28/dosdejp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、全網(wǎng)營(yíng)銷推廣、網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站內(nèi)鏈、App開發(fā)、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)