Datetime 模块

Datetime 模块

定义

日期和时间进行操作的内置模块:time模块、datetime模块和calendar模块

Datetime模块常用的三个类 date  time  datetime

一个文件是一个模块,一个模块里面有多个类,一个类有多个方法

Date

定义

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

常用的方法和属性

类方法/属性名称

描述

date.max

date对象所能表示的最大日期:9999-12-31

date.min

date对象所能表示的最小日期:00001-01-01

date.resolution

date对象表示的日期的最小单位:天

date.today()

返回一个表示当前本地日期的date对象

date.fromtimestamp(timestamp)

根据给定的时间戳,返回一个date对象

d.year

d.month

d.day

d.replace(year[, month[, day]])

生成并返回一个新的日期对象,原日期对象不变

d.timetuple()

返回日期对应的time.struct_time对象

d.toordinal()

返回日期是是自0001-01-01开始的第多少天

d.weekday()

返回日期是星期几,[0, 6],0表示星期一

d.isoweekday()

返回日期是星期几,[1, 7], 1表示星期一

d.isocalendar()

返回一个元组,格式为:(year, weekday, isoweekday)

d.isoformat()

返回‘YYYY-MM-DD’格式的日期字符串

d.strftime(format)

返回指定格式的日期字符串,与time模块的strftime(format, struct_time)功能相同

import datetime as dt

>>> date = dt.date(2021,10,11)

>>> date.max

datetime.date(9999, 12, 31)

>>> date.min

datetime.date(1, 1, 1)

date.resolution

datetime.timedelta(days=1)

>>> date.today()

datetime.date(2021, 10, 11)

>>> date.year

2021

>>> date.month

10

>>> date.day

11

date.fromtimestamp(20190809)

datetime.date(1970, 8, 23)

>>> # 20190809/60/60/30/12

>>> date.replace(1789)

datetime.date(1789, 10, 11)

date.replace(1937,8,8)

datetime.date(1937, 8, 8)

>>> date.today()

datetime.date(2021, 10, 11)

>>> date.weekday()

0

>>> date.isoweekday()

1

Time

定义

class datetime.time(hour, minute, second, [microsecond[, tzinfo]]]])

常用的方法和属性

类方法/属性名称

描述

time.max

time类所能表示的最大时间:time(23, 59, 59, 999999)

time.min

time类所能表示的最小时间:time(0, 0, 0, 0)

time.resolution

时间的最小单位,即两个不同时间的最小差值:1微秒

t.hour

t.minute

t.second

t.microsecond

微秒

t.tzinfo

返回传递给time构造方法的tzinfo对象,如果该参数未给出,则返回None

t.replace(hour[, minute[, second[, microsecond[, tzinfo]]]])

生成并返回一个新的时间对象,原时间对象不变

t.isoformat()

返回一个‘HH:MM:SS.%f’格式的时间字符串

t.strftime()

返回指定格式的时间字符串,与time模块的strftime(format, struct_time)功能相同

>>> t.resolution

datetime.timedelta(microseconds=1)

>>> t.hour

14

>>> t.microsecond

0

>>> t.isoformat()

'14:29:59'

>>> t.replace(6,30,59)

datetime.time(6, 30, 59)

>>> t.strftime("%H_%M_%S")

'14_29_59'

Datetime

定义

class datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None)

date和time类的一个结合

常用方法和属性

类方法/属性名称

描述

datetime.today()

返回一个表示当前本期日期时间的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对象

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

生成并返回一个新的datetime对象,如果所有参数都没有指定,则返回一个与原datetime对象相同的对象

dt.timetuple()

返回datetime对象对应的tuple(不包括tzinfo)

dt.utctimetuple()

返回datetime对象对应的utc时间的tuple(不包括tzinfo)

dt.timestamp()

返回datetime对象对应的时间戳,Python 3.3才新增的

dt.toordinal()

同date对象

dt.weekday()

同date对象

dt.isocalendar()

同date对象

dt.isoformat([sep])

返回一个‘%Y-%m-%d’字符串

dt.ctime()

等价于time模块的time.ctime(time.mktime(d.timetuple()))

dt.strftime(format)

返回指定格式的时间字符串

Timedeltal

定义

class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, hours=0, weeks=0)

timedelta对象表示两个不同时间之间的差值。可以对datetime.date, datetime.time和datetime.datetime对象做算术运算。

常用的方法

类方法/属性名称

描述

timedelta.min

timedelta(-999999999)

timedelta.max

timedelta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999)

timedelta.resolution

timedelta(microseconds=1)

td.days

天 [-999999999, 999999999]

td.seconds

秒[0, 86399]

td.microseconds

微秒[0, 999999]

td.total_seconds()

时间差中包含的总秒数,等价于: td / timedelta(seconds=1)

>>> import datetime

>>> dt = datetime.datetime

>>> a = dt.now()

>>> a

datetime.datetime(2021, 10, 11, 14, 59, 32, 304720)

>>> a+datetime.timedelta(3)

datetime.datetime(2021, 10, 14, 14, 59, 32, 304720)

>>> a+datetime.timedelta(-3)

datetime.datetime(2021, 10, 8, 14, 59, 32, 304720)

>>> a+datetime.timedelta(days=3,hours=3,seconds=10)#3天后,3个小时后,10秒后

datetime.datetime(2021, 10, 14, 17, 59, 42, 304720)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值