日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

python中isoweekday和weekday的區(qū)別及說(shuō)明_python

作者:weixin_42009030 ? 更新時(shí)間: 2022-09-10 編程語(yǔ)言

isoweekday和weekday的區(qū)別

import datetime
datetime.datetime.now() 表示當(dāng)前時(shí)間
datetime.datetime.now().isoweekday() # 返回1-7,代表周一到周日,當(dāng)前時(shí)間所在本周第幾天;

datetime.datetime.now().weekday() # 返回的0-6,代表周一到周日

另外,標(biāo)準(zhǔn)格式 %w 中,1-6表示周一到周六,0代表周日

import datetime
now_time = datetime.datetime.now() # 當(dāng)前時(shí)間
print(now_time)
day_num = now_time.isoweekday() # 當(dāng)前時(shí)間所在本周第幾天
print(day_num)
monday = (now_time - datetime.timedelta(days=day_num-1)) # 本周周一時(shí)間
print(monday)

----------
2019-06-20 09:45:07.349007
4
2019-06-17 09:45:07.349007

datetime.date類(lèi)介紹

date類(lèi)是一個(gè)日期類(lèi),由年、月、日組成。

由于Python也是面向?qū)ο缶幊陶Z(yǔ)言,所以針對(duì)類(lèi),就會(huì)有構(gòu)造函數(shù),該類(lèi)的構(gòu)造函數(shù)如下:?

class datetime.date(year, month, day):?

  • year: 表示年,范圍[MINYEAR, MAXYEAR],即[1, 9999]?
  • month: 表示月,范圍[1, 12]?
  • day:一月中第幾天,最大值根據(jù)給定的year,month參數(shù)來(lái)決定。例如閏年2月份有29天?

一、date對(duì)象所能表示的最大最小日期,返回的是datetime.date類(lèi)型的對(duì)象

>>> import datetime
>>> datetime.date.max
datetime.date(9999, 12, 31)
>>> print datetime.date.min
0001-01-01
>>>

二、date.today() 函數(shù):返回一個(gè)當(dāng)前本地日期的date類(lèi)型的對(duì)象

>>> datetime.date.today()
datetime.date(2018, 1, 16)
>>> print datetime.date.today()
2018-01-16
>>>

三、date.fromtimestamp()函數(shù):根據(jù)給定的時(shí)間戳,返回一個(gè)date對(duì)象

>>> import datetime
>>> import time
>>> now=time.time()
>>> print now
1516110787.69
>>> s=datetime.date.fromtimestamp(now)
>>> s
datetime.date(2018, 1, 16)
>>> print s
2018-01-16
>>>

四、date.weekday()函數(shù):參數(shù)必須是一個(gè)date類(lèi)型的對(duì)象,返回該日期是一周中的第幾天。返回值是一個(gè)整型。星期一,返回0;星期二,返回1。。。

>>> s=datetime.date.today()
>>> print s
2018-01-16
>>> s
datetime.date(2018, 1, 16)
>>> type(s)
<type 'datetime.date'>
>>> d=datetime.date.weekday(s)
>>> d
1
>>> print d
1
>>> type(d)
<type 'int'>
>>>

五、date.isoweekday()函數(shù):該函數(shù)需要一個(gè)datetime.date類(lèi)型的參數(shù)。返回weekday中的星期幾,星期一,返回1;星期二,返回2;以此類(lèi)推。

>>> s=datetime.date.today()
>>> print s
2018-01-16
>>> s
datetime.date(2018, 1, 16)
>>> d=datetime.date.isoweekday(s)
>>> d
2
>>> type(d)
<type 'int'>
>>>

六、date.isocalendar()函數(shù):該函數(shù)需要一個(gè)datetime.date類(lèi)型的參數(shù)。返回date類(lèi)型對(duì)象中的year(年),week(周),weekday(一周中的第幾天),返回值是一個(gè)元組

>>> s=datetime.date.today()
>>> print s
2018-01-16
>>> s
datetime.date(2018, 1, 16)
>>> d=datetime.date.isocalendar(s)
>>> d
(2018, 3, 2)
>>> print d
(2018, 3, 2) ? ----代表2018年中的第3周,第三周中的第2天
>>> type(d)
<type 'tuple'>
>>>
>>> s=datetime.date(2018,1,14)
>>> s
datetime.date(2018, 1, 14)
>>> print s
2018-01-14
>>> d
(2018, 3, 2)
>>> d=datetime.date.isocalendar(s)
>>> d
(2018, 2, 7) ? ? ----代表2018年中的第3周,第三周中的第7天
>>>

七、date.strftime(fmt) 返回自定義格式的時(shí)間字符串。fmt是自定義的時(shí)間格式

>>> a=datetime.date.today()
>>> a
datetime.date(2018, 1, 16)
>>> b=a.strftime("%Y-%m-%d %H:%M:%S")
>>> b
'2018-01-16 00:00:00'
>>> print b
2018-01-16 00:00:00
>>> type(b)
<type 'str'>
>>>

八、.replace(year, month, day):生成一個(gè)新的日期對(duì)象 ?用參數(shù)指定的年,月,日代替原有對(duì)象中的屬性。(原有對(duì)象仍保持不變)

>>> date1
datetime.date(2018, 1, 16)
>>> date_new=date1.replace(year=2017)
>>> date_new
datetime.date(2017, 1, 16)
>>> date_new=date1.replace(day=30)
>>> date_new
datetime.date(2018, 1, 30)
>>>?

九、日期的其他操作--日期加上一個(gè)時(shí)間間隔(datetime.timedela類(lèi)的對(duì)象)

>>> now=datetime.date.today()
>>> now
datetime.date(2018, 1, 16)
>>> print now
2018-01-16
>>> b=datetime.timedelta(days=10)
>>> b
datetime.timedelta(10)
>>> type(b)
<type 'datetime.timedelta'>
>>> print b
10 days, 0:00:00
>>> print now+b
2018-01-26
>>> print now-b
2018-01-06
>>> print now-b-b
2017-12-27
>>>

十、日期的其他操作--兩個(gè)date類(lèi)型對(duì)象相減。返回兩個(gè)日期的間隔對(duì)象,即:datetime.timedelta類(lèi)型的對(duì)象

>>> date1=datetime.date.today()
>>> date2=date1.replace(day=19)
>>> print date1
2018-01-16
>>> print date2
2018-01-19
>>> print type(date1),type(date2)
<type 'datetime.date'> <type 'datetime.date'>
>>> print date2-date1
3 days, 0:00:00
>>> print date1-date2
-3 days, 0:00:00
>>> print date2+datetime.timedelta(days=35)
2018-02-23
>>> print type(date2-date1)
<type 'datetime.timedelta'>
>>>

十一、日期的其它操作--比較日期大小

date1 < date2 返回比較結(jié)果布爾值,真返回True,假返回False?

原文鏈接:https://blog.csdn.net/weixin_42009030/article/details/92968949

欄目分類(lèi)
最近更新