真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

包含python時(shí)間處理函數(shù)的詞條

Python中處理時(shí)間的幾種方法小結(jié)

python中的時(shí)間模塊主要有time, datetime。

創(chuàng)新互聯(lián)公司為企業(yè)級(jí)客戶提高一站式互聯(lián)網(wǎng)+設(shè)計(jì)服務(wù),主要包括做網(wǎng)站、成都網(wǎng)站建設(shè)APP應(yīng)用開發(fā)、微信小程序定制開發(fā)、宣傳片制作、LOGO設(shè)計(jì)等,幫助客戶快速提升營銷能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門都有經(jīng)驗(yàn)豐富的經(jīng)驗(yàn),可以確保每一個(gè)作品的質(zhì)量和創(chuàng)作周期,同時(shí)每年都有很多新員工加入,為我們帶來大量新的創(chuàng)意。 

I, time模塊

time模塊中包含了四種時(shí)間格式:

float格式,即給定時(shí)間相對(duì)于epoch增加的秒數(shù)

tuple格式,一個(gè)九元組 (tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)

string格式,'Mon Feb 6 15:00:06 2012'

format格式,以指定的格式生成的時(shí)間

針對(duì)這幾種時(shí)間格式,time模塊提供了函數(shù)在格式之間相互轉(zhuǎn)換。

asctime(tuple) -string

ctime(float) -string

gmtime(float) -tuple

localtime(float) -tuple

mktime(tuple) -float

strftime(format, tuple) -format string

strptime(formatstring, format) -tuple

time() - float

上述函數(shù)中,除了time()函數(shù)直接返回當(dāng)前時(shí)間相對(duì)于epoch的秒數(shù)外,其他函數(shù)都要求有時(shí)間的輸入,如果沒有輸入,則默認(rèn)使用當(dāng)前時(shí)間。

另外,strftime和strptime中的format使用下面的格式:

%a 英文星期簡寫

%A 英文星期的完全

%b 英文月份的簡寫

%B 英文月份的完全

%c 顯示本地日期時(shí)間

%d 日期,取1-31

%H 小時(shí), 0-23

%I 小時(shí), 0-12

%m 月, 01 -12

%M 分鐘,1-59

%j 年中當(dāng)天的天數(shù)

%w 顯示今天是星期幾

%W 第幾周

%x 當(dāng)天日期

%X 本地的當(dāng)天時(shí)間

%y 年份 00-99間

%Y 年份的完整拼寫

%S 秒(00-59)

除了上述的時(shí)間轉(zhuǎn)換函數(shù)之外,模塊還提供了下面的函數(shù):

clock() 返回進(jìn)程的創(chuàng)建時(shí)間,以秒計(jì)數(shù)的float

sleep(float) sleep一段時(shí)間,以秒計(jì)數(shù)

tzset() 更改時(shí)區(qū)

II, datetime

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

datetime.date:表示日期的類。常用的屬性有year, month, day;datetime.time:表示時(shí)間的類。常用的屬性有hour, minute, second, microsecond;datetime.datetime:表示日期時(shí)間。datetime.timedelta:表示時(shí)間間隔,即兩個(gè)時(shí)間點(diǎn)之間的長度。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ù)來決定。例如閏年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 :一種日歷表示方法,類似于我國的農(nóng)歷,西方國家使用比較多,此處不詳細(xì)展開討論。)

Python獲取當(dāng)前時(shí)間前、后一個(gè)月的函數(shù)

這需求折騰了我半天..

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

python datetime處理時(shí)間

python時(shí)間處理方法datetime(),下面就舉幾個(gè)代碼案例進(jìn)行說明,代碼如下:

#?-*-?coding:?utf-8?-*-?

#?運(yùn)行環(huán)境:Python3.4

#datetime類

#datetime是date與time的結(jié)合體,包括date與time的所有信息。

#它的構(gòu)造函數(shù)如下:

#datetime.?datetime?(year,?month,?day[?,?hour[?,?minute[?,?second[?,?microsecond[?,?tzinfo]?]?]?]?]?)

#各參數(shù)的含義與date、time的構(gòu)造函數(shù)中的一樣,要注意參數(shù)值的范圍。

#?1.?datetime類定義的類屬性與方法:

#datetime.min、datetime.max:datetime所能表示的最小值與最大值;

#print:?datetime.max:?9999-12-31?23:59:59.999999

#print:?datetime.min:?0001-01-01?00:00:00

from??datetime??import??*?

import?time

print???('datetime.max:'?+str(datetime.max?))?

print???('datetime.min:'?+str(datetime.min))??

#datetime.resolution:datetime最小單位;

#print:?datetime.resolution:?0:00:00.000001

print???('datetime.resolution:'?+?str(datetime.resolution?))

#datetime.today():返回一個(gè)表示當(dāng)前本地時(shí)間的datetime對(duì)象;

#print:?today():?2012-09-12?19:37:50.721000

print???('today():'?+str(datetime.today()?))

#datetime.now([tz]):返回一個(gè)表示當(dāng)前本地時(shí)間的datetime對(duì)象,如果提供了參數(shù)tz,則獲取tz參數(shù)所指時(shí)區(qū)的本地時(shí)間;

#print:?now():?2012-09-12?19:37:50.738000

print???('now():'+str(?datetime.now()?))

#datetime.utcnow():返回一個(gè)當(dāng)前utc時(shí)間的datetime對(duì)象;

#print:?2012-09-12?11:37:50.739000

print???('utcnow():'?+str(datetime.utcnow()?))?

#datetime.fromtimestamp(timestamp[,?tz]):根據(jù)時(shí)間戮創(chuàng)建一個(gè)datetime對(duì)象,參數(shù)tz指定時(shí)區(qū)信息;

#print:?fromtimestamp(tmstmp):?2012-09-12?19:37:50.741000

print???('fromtimestamp(tmstmp):'?+str(datetime.fromtimestamp(time.time())?))

#datetime.utcfromtimestamp(timestamp):根據(jù)時(shí)間戮創(chuàng)建一個(gè)datetime對(duì)象;

#print:?utcfromtimestamp(tmstmp):?2012-09-12?11:37:50.742000

print???('utcfromtimestamp(tmstmp):'?+str(datetime.utcfromtimestamp(time.time()))?)

#datetime.combine(date,?time):根據(jù)date和time,創(chuàng)建一個(gè)datetime對(duì)象;

#print:?datetime.combine(date,time):??2012-09-12?19:46:05

d?=?date(2012,9,12)

from??datetime??import??*?

t?=?time(19,46,5)

print?('datetime.combine(date,time):?'+str(datetime.combine(d,t)))

#datetime.strptime(date_string,?format):將格式字符串轉(zhuǎn)換為datetime對(duì)象;

#print:?2007-03-04?21:08:12

print?(datetime.strptime("2007-03-04?21:08:12",?"%Y-%m-%d?%H:%M:%S"))

#2.?datetime類提供的實(shí)例方法與屬性

dt?=?datetime.strptime("2012-09-12?21:08:12",?"%Y-%m-%d?%H:%M:%S")

#print:?2012?9?12?21?8?12?0?None

print?(dt.year)

print(dt.month)

print(dt.day)

print(dt.hour)

print(dt.minute)

print(dt.second)

print(dt.microsecond)

print(dt.tzinfo)

print?(dt.date())

print?(dt.time())

print?(dt.replace(year?=?2013))

print?(dt.timetuple())

print?(dt.utctimetuple())

print?(dt.toordinal())

print?(dt.weekday())

print?(dt.isocalendar())

#print?dt.isoformat([sep])

#datetime.?ctime?():返回一個(gè)日期時(shí)間的C格式字符串,等效于time.ctime(time.mktime(dt.timetuple()));

#3.?格式字符串

#?datetime.?strftime?(format)

#?%a?星期的簡寫。如?星期三為Web

#?%A?星期的全寫。如?星期三為Wednesday

#?%b?月份的簡寫。如4月份為Apr

#?%B月份的全寫。如4月份為April?

#?%c:??日期時(shí)間的字符串表示。(如:?04/07/10?10:43:39)

#?%d:??日在這個(gè)月中的天數(shù)(是這個(gè)月的第幾天)

#?%f:??微秒(范圍[0,999999])

#?%H:??小時(shí)(24小時(shí)制,[0,?23])

#?%I:??小時(shí)(12小時(shí)制,[0,?11])

#?%j:??日在年中的天數(shù)?[001,366](是當(dāng)年的第幾天)

#?%m:??月份([01,12])

#?%M:??分鐘([00,59])

#?%p:??AM或者PM

#?%S:??秒(范圍為[00,61],為什么不是[00,?59],參考python手冊(cè)~_~)

#?%U:??周在當(dāng)年的周數(shù)當(dāng)年的第幾周),星期天作為周的第一天

#?%w:??今天在這周的天數(shù),范圍為[0,?6],6表示星期天

#?%W:??周在當(dāng)年的周數(shù)(是當(dāng)年的第幾周),星期一作為周的第一天

#?%x:??日期字符串(如:04/07/10)

#?%X:??時(shí)間字符串(如:10:43:39)

#?%y:??2個(gè)數(shù)字表示的年份

#?%Y:??4個(gè)數(shù)字表示的年份

#?%z:??與utc時(shí)間的間隔?(如果是本地時(shí)間,返回空字符串)

#?%Z:??時(shí)區(qū)名稱(如果是本地時(shí)間,返回空字符串)

#?%%:??%%?=?%

dt?=?datetime.now()

#print:?(%Y-%m-%d?%H:%M:%S?%f):??2012-09-12?23:04:27?145000

print?('(%Y-%m-%d?%H:%M:%S?%f):?'+?str(dt.strftime('%Y-%m-%d?%H:%M:%S?%f')))

#print:?(%Y-%m-%d?%H:%M:%S?%p):??12-09-12?11:04:27?PM

print?('(%Y-%m-%d?%H:%M:%S?%p):?'+str(dt.strftime('%y-%m-%d?%I:%M:%S?%p')))

#print:?%a:?Wed?

print?('%%a:?%s?'?%?dt.strftime('%a'))

#print:?%A:?Wednesday

print?('%%A:?%s?'?%?dt.strftime('%A'))

#print:?%b:?Sep?

print?('%%b:?%s?'?%?dt.strftime('%b'))

#print:?%B:?September

print?('%%B:?%s?'?%?dt.strftime('%B'))

#print:?日期時(shí)間%c:?09/12/12?23:04:27

print?('日期時(shí)間%%c:?%s?'?%?dt.strftime('%c'))

#print:?日期%x:09/12/12

print?('日期%%x:%s?'?%?dt.strftime('%x'))

#print:?時(shí)間%X:23:04:27

print?('時(shí)間%%X:%s?'?%?dt.strftime('%X'))

#print:?今天是這周的第3天

print?('今天是這周的第%s天?'?%?dt.strftime('%w'))

#print:?今天是今年的第256天?

print?('今天是今年的第%s天?'?%?dt.strftime('%j'))

#print:?今周是今年的第37周

print?('今周是今年的第%s周?'?%?dt.strftime('%U'))

上面代碼案例運(yùn)行結(jié)果如下:

atetime.max:9999-12-31?23:59:59.999999

datetime.min:0001-01-01?00:00:00

datetime.resolution:0:00:00.000001

today():2014-05-04?15:58:18.141186

now():2014-05-04?15:58:18.193146

utcnow():2014-05-04?07:58:18.243958

fromtimestamp(tmstmp):2014-05-04?15:58:18.291558

utcfromtimestamp(tmstmp):2014-05-04?07:58:18.342550

datetime.combine(date,time):?2012-09-12?19:46:05

2007-03-04?21:08:12

2012

9

12

21

8

12

None

2012-09-12

21:08:12

2013-09-12?21:08:12

time.struct_time(tm_year=2012,?tm_mon=9,?tm_mday=12,?tm_hour=21,?tm_min=8,?tm_sec=12,?tm_wday=2,?tm_yday=256,?tm_isdst=-1)

time.struct_time(tm_year=2012,?tm_mon=9,?tm_mday=12,?tm_hour=21,?tm_min=8,?tm_sec=12,?tm_wday=2,?tm_yday=256,?tm_isdst=0)

734758

2

(2012,?37,?3)

(%Y-%m-%d?%H:%M:%S?%f):?2014-05-04?15:58:19?326295

(%Y-%m-%d?%H:%M:%S?%p):?14-05-04?03:58:19?PM

%a:?Sun?

%A:?Sunday?

%b:?May?

%B:?May?

日期時(shí)間%c:?Sun?May??4?15:58:19?2014?

日期%x:05/04/14?

時(shí)間%X:15:58:19?

今天是這周的第0天?

今天是今年的第124天?

今周是今年的第18周

python,格式化時(shí)間實(shí)例,求

對(duì)于像'Wed, 11 Apr 2012 09:37:05 +0800'的時(shí)間格式化可如下解:

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í)間的函數(shù)為datetime.datetime.strftime();由字符串轉(zhuǎn)為日期型的函數(shù)為:datetime.datetime.strptime(),兩個(gè)函數(shù)都涉及日期時(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函數(shù)深入淺出 16.time.sleep()函數(shù)詳解

time.sleep() 函數(shù)命名來源于英文單詞time(時(shí)間)和sleep(睡眠)。

time 是python帶的非內(nèi)置庫,使用時(shí)需要import,主要用于處理和時(shí)間相關(guān)的操作。

time.sleep用于給定時(shí)間內(nèi)掛起(等待)當(dāng)前線程的執(zhí)行。

time.sleep() 函數(shù)的例子:

可以注釋掉time.sleep(2)再運(yùn)行一次對(duì)比一下

可以看到雖然都是打印出一樣的結(jié)果,但time.sleep()加入了等待時(shí)間

這里還要解釋一下python中線程與進(jìn)程的區(qū)別。

舉個(gè)例子,廚房做菜看成是一個(gè)進(jìn)程,那么這個(gè)進(jìn)程下面就可能有多個(gè)人或一個(gè)人(cpu基本執(zhí)行單元,即線程)來執(zhí)行,多個(gè)人可以分別洗菜,刷碗,擺盤等等同時(shí)作業(yè),他們又是共享這個(gè)廚房的資源的。每個(gè)人存在一定的資源競爭關(guān)系,比如爐火只有1個(gè)。

這里time.sleep是針對(duì)線程執(zhí)行的,也就是其中一個(gè)人去sleep睡覺了,不影響其他人的繼續(xù)工作。

參數(shù)

該函數(shù)沒有返回值。

結(jié)果類似如下:

可以看到秒數(shù)相差了5

time.sleep()常用于推遲執(zhí)行的場景

在python中,與時(shí)間相關(guān)的模塊有:time,datetime以及calendar

對(duì)基礎(chǔ)運(yùn)行環(huán)境有疑問的,推薦參考: python函數(shù)深入淺出 0.基礎(chǔ)篇


分享文章:包含python時(shí)間處理函數(shù)的詞條
文章出自:http://weahome.cn/article/docided.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部