文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python时间操作datetime详情(下)

2024-04-02 19:55

关注

复习回顾:datetime模块

1. datetime.date 类

datetime.date 类定义的 date 对象代表日期(年月日如2021.10.30)

1.1datetime.date 类格式


class datetime.date(year,month,day)

参数:不可缺省。如果参数不存在,则会抛出ValueError异常

1.2datetime.date类方法和属性

类方法/属性 作用
date.max date对象表示的最大日期,9999-12-31
date.min date对象表示的最小日期,0001-01-01
date.resolution date对象表示日期的最大单位,天
date.today() 获取当前本地日期
date.fromtimestamp(timestamp) 将时间戳转换成日期

date对象方法和属性

对象方法/属性 作用
d.year 表示年
d.month 表示月
d.day 表示日
d.replace(year,[,month,[,day]]) 生成一个新的日期
d.timetuple() 返回日期对应的结构化对象
d.toordinal() 返回日期距离起始0001-01-01的第N天
d.weekday() 返回日期是星期几,[0,6] 0代表是星期一
d.isoweekday 返回日期是星期几,[1,7] 1代表是星期一
d.isocalendar() (year, weekday, isoweekday)形式的元组
d.isoformat() ‘YYYY-MM-DD'格式的日期字符串
d.strftime(format) 返回指定格式的日期字符串

import datetime

dat = datetime.date(2021,10,30)



print("datetime.date.today()类方法",datetime.date.today())

print("date对象year属性:",dat.year)

print("date对象month属性:",dat.month)

print("date对象day属性:",dat.day)

print("date对象replace:",dat.replace(2022))

print("date对象timetuple:",dat.timetuple())

print("date对象weekday:",dat.weekday())

print("date对象isoweekday:",dat.isoweekday())

print("date对象isocalendar:",dat.isocalendar())

print("date对象isoformat:",dat.isoformat())

print("date对象strftime:",dat.strftime("%d-%m-%Y"))



2. datetime.time 类

datetime.time 类的对象表示某地某日的时间,独立于任何特定日期,并且可以通过tzinfo对象来调整。

2.1datetime.time 类格式


class datetime.time(hour=0,minute=0,

second=0,mircrosecond=0,tzinfo=Noe,*,fold=0 )

参数:所有的参数都是可选的

  1. hour参数取值范围:[0,23]
  2. minute参数取值范围:[0,59]
  3. second参数取值范围:[0,59]
  4. microsecond取值范围:[0,1000000]
  5. tzinfo:可以是None,或者一个tzinfo子类实例

2.2datetime.time类方法和属性

类方法/属性 作用
time.max time类表示最大时间,time(23, 59, 59, 999999)
time.min time类表示最小时间,time(0, 0, 0, 0)
time.resolution 时间的最小单位,1微秒

2.3datetime.time类方法和属性

实例方法/属性 作用
t.hour 表示时
t.minute 表示分
t.second 表示秒
t.microsecond 表示微秒
t.tzinfo 返回传递time构造方法的tzinfo对象
t.replace(hour,[,mintue,[,]]) 生成一个新的时间
t.isoformat() 返回一个‘HH:MM:SS.%f'格式的时间字符串
t.strftime() 返回指定格式的时间字符串

3. datetime.datetime 类

datetime.datetime 类是datetime.date的子类,包含时间和日期所有信息的对象

3.1datetime.datetime 类定义格式


class datetime.datetime(year,month,day,hour=0,minute=0,

second=0,mircrosecond=0,tzinfo=Noe,*,fold=0 )

参数:year,month和day 参数是必填项

3.2datetime.datetime 类方法和属性

类方法/属性 作用
datetime.today() f返回当前本期日期时间的datetime对象
datetime.now([tz]) 返回指定时区日期时间的datetime对象,若不指定tz参数则系统时间
datetime.utcnow() 返回当前utc日期时间的datetime对象
datetime.fromtimestamp(timestamp[, tz]) 根据指定的时间戳创建一个datetime对象
datetime.utcfromtimestamp(timestamp) 根据指定的时间戳创建一个datetime对象
datetime.combine(date, time) 把指定的date和time对象整合成一个datetime对象
datetime.strptime(date_str, format) 将时间字符串转换为datetime对象

datetime.datetime 类实例方法和属性

实例方法/属性 作用
dt.year 表示年
dt.month 表示月
dt.day 表示日
dt.hour 表示时
dt.minute 表示分
dt.second 表示秒
dt.microsecond 表示微秒
dt.tzinfo 表示时区
dt.date() 获取datetime对象对应的date对象
dt.time() 获取datetime对象对应的time对象, tzinfo 为None
dt.timetz() 获取datetime对象对应的time对象,tzinfo与datetime对象的tzinfo相同
dt.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]]) 生成一个新datetime对象
dt.timetuple() 返回datetime对象对应的tuple(不包括tzinfo)
dt.utctimetuple() 返回datetime对象对应的utc时间的tuple(不包括tzinfo)
dt.timestamp() 返回datetime对象对应的时间戳
dt.toordinal() 返回日期是是自 0001-01-01 开始的第多少天
dt.weekday() 返回日期是星期几,[0, 6],0表示星期一
dt.isocalendar() 返回一个元组,格式为:(year, weekday, isoweekday)
dt.isoformat([sep]) 返回一个‘%Y-%m-%d%H:%M:%S.%f'格式的字符串
dt.ctime() 等价于time模块的time.ctime(time.mktime(d.timetuple()))
dt.strftime(format) 返回指定格式的时间字符串

4. datetime.timedelta 类

datetime.timedelta 类定义的对象表示两个date或者time的时间间隔

4.1datetime.timedelta 类定义格式


class datetime.timedelta(days=0,seconds=0,microseconds=0,

milliseconds=0,hours=0,weeks=0 )

参数:所有参数都是可选并且默认为0

换算公式:

seconds 取值范围:[0,86399]

microseconds 取值范围:[0,999999]

days 取值范围:[-999999999,999999999]

4.2datetime.timedelta 类方法和属性

类方法/属性 作用
timedelta.min timedelta(-999999999)
timedelta.max timedelta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999)
timedelta.resolution timedelta(microseconds=1)

datetime.timedelta 类实例方法和属性

实例方法/属性 作用
td.days 天,[-999999999, 999999999]
td.seconds 秒[0, 86399]
td.microseconds 微秒 [0, 999999]
td.total_seconds() 时间差中包含的总秒数,等价于: td / timedelta(seconds=1)

5. datetime.tzinfo 类与datetime.timezone 类

datetime.tzinfo 类是一个抽象基类,该类不会被直接实例化。

datetime.timezone 类是tzinfo的子类,它的每一个实例代表一个以与UTC的固定时间差来定义的时区。

5.1datetime.timezone 类定义格式


class datetime.timezone(offset,name=None)

参数:

5.2datetime.timezone 类方法和属性

类方法/属性 作用
timezone.utcoffset(dt) 返回当 timezone 实例被构造时指定的固定值。
timezone.tzname(dt) 返回timezone实例被构造时指定的固定值
timezone.dst(dt) 总是返回none
timezone.formutc(dt) 返回dt+uoffset
timezone.utc 返回UTC时区

6、总结

主要对datetime模块中六大类相关的属性和方法进行学习汇总

到此这篇关于 Python 时间操作datetime详情(下)的文章就介绍到这了,更多相关 Python 时间操作datetime内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯