python中isoweekday和weekday的区别及说明

 更新时间:2022年07月18日 16:22:36   作者:weixin_42009030  
这篇文章主要介绍了python中isoweekday和weekday的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

isoweekday和weekday的区别

import datetime
datetime.datetime.now() 表示当前时间
datetime.datetime.now().isoweekday() # 返回1-7,代表周一到周日,当前时间所在本周第几天;

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

另外,标准格式 %w 中,1-6表示周一到周六,0代表周日

import datetime
now_time = datetime.datetime.now() # 当前时间
print(now_time)
day_num = now_time.isoweekday() # 当前时间所在本周第几天
print(day_num)
monday = (now_time - datetime.timedelta(days=day_num-1)) # 本周周一时间
print(monday)

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

datetime.date类介绍

date类是一个日期类,由年、月、日组成。

由于Python也是面向对象编程语言,所以针对类,就会有构造函数,该类的构造函数如下: 

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

  • year: 表示年,范围[MINYEAR, MAXYEAR],即[1, 9999] 
  • month: 表示月,范围[1, 12] 
  • day:一月中第几天,最大值根据给定的year,month参数来决定。例如闰年2月份有29天 

一、date对象所能表示的最大最小日期,返回的是datetime.date类型的对象

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

二、date.today() 函数:返回一个当前本地日期的date类型的对象

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

三、date.fromtimestamp()函数:根据给定的时间戳,返回一个date对象

>>> 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()函数:参数必须是一个date类型的对象,返回该日期是一周中的第几天。返回值是一个整型。星期一,返回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()函数:该函数需要一个datetime.date类型的参数。返回weekday中的星期几,星期一,返回1;星期二,返回2;以此类推。

>>> 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()函数:该函数需要一个datetime.date类型的参数。返回date类型对象中的year(年),week(周),weekday(一周中的第几天),返回值是一个元组

>>> 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) 返回自定义格式的时间字符串。fmt是自定义的时间格式

>>> 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):生成一个新的日期对象  用参数指定的年,月,日代替原有对象中的属性。(原有对象仍保持不变)

>>> 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)
>>> 

九、日期的其他操作--日期加上一个时间间隔(datetime.timedela类的对象)

>>> 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
>>>

十、日期的其他操作--两个date类型对象相减。返回两个日期的间隔对象,即:datetime.timedelta类型的对象

>>> 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 返回比较结果布尔值,真返回True,假返回False 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python如何获取对象大小和文件大小

    Python如何获取对象大小和文件大小

    这篇文章主要介绍了Python如何获取对象大小和文件大小问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • pip安装py_zipkin时提示的SSL问题对应

    pip安装py_zipkin时提示的SSL问题对应

    今天小编就为大家分享一篇关于pip安装py_zipkin时提示的SSL问题对应,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)

    python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)

    这篇文章主要介绍了python opencv 图片缺陷检测,主要讲解直方图以及相关系数对比法,本文通过实例截图给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • python3获取url文件大小示例代码

    python3获取url文件大小示例代码

    这篇文章主要介绍了python3获取url文件大小,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Python使用迭代器打印螺旋矩阵的思路及代码示例

    Python使用迭代器打印螺旋矩阵的思路及代码示例

    用Python的itertools模块来创建具有迭代功能的函数十分具有技巧性,这里我们就来看一下借助itertools模块、Python使用迭代器打印螺旋矩阵的思路及代码示例
    2016-07-07
  • Python自动化办公之定时发送邮件的实现

    Python自动化办公之定时发送邮件的实现

    python中的schedule模块可以使我们方便简单的使用定时任务,即在特定的时间自动的执行一些任务的功能,本文将用这一模块实现邮件自动发送,需要的可以参考一下
    2022-05-05
  • 在Gnumeric下使用Python脚本操作表格的教程

    在Gnumeric下使用Python脚本操作表格的教程

    这篇文章主要介绍了在Gnumeric下使用Python脚本操作表格的教程,本文来自于IBM官方网站,需要的朋友可以参考下
    2015-04-04
  • Python内置函数dir详解

    Python内置函数dir详解

    这篇文章主要介绍了Python内置函数dir详解,本文讲解了命令介绍、使用实例、使用dir查找module下的所有类、如何找到当前模块下的类等内容,需要的朋友可以参考下
    2015-04-04
  • python 内置模块详解

    python 内置模块详解

    模块是一个保存了Python代码的文件。模块能定义函数,类和变量。模块里也能包含可执行的代码,今天我们就来详细探讨下python内置的一些常用模块
    2019-01-01
  • Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解

    Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解

    这篇文章主要介绍了Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法,结合实例形式总结分析了Python GUI编程tkinter中messagebox、filedialog控件基本功能、用法与操作注意事项,需要的朋友可以参考下
    2020-03-03

最新评论