Python-datetime模块使用详解datetime,time,date

文章目录

  • class datetime.date
    • 输出年月日
    • 返回今天日期
    • 返回该日期对应星期几
    • 返回标准日期格式
    • 返回更改了年/月/日的日期
  • class datetime.time
    • 输出时分秒
    • 返回更改了时/分/秒的日期
  • class datetime.datetime
    • 输出年月日时分秒
    • 返回今天日期
    • 返回该日期对应星期几
    • 返回标准日期格式
    • 返回更改了年/月/日/时/分/秒的日期
  • strftime() 和 strptime() 的行为
    • strftime() 和 strptime() Format Codes

datetime 模块提供用于处理日期和时间的类。 支持五种有效的类型:date,time,datetime,timedelta,tzinfo,timezone,最常用的是前三种
更多可以自行查看官方文档

子类关系:
Python-datetime模块使用详解datetime,time,date_第1张图片

class datetime.date

class datetime.date(year, month, day)
所有参数都是必要的,且参数必须是在下面范围内的整数:

1 <= year <= 9999
1 <= month <= 12
1 <= day <= 给定年月对应的天数

#能输出最小日期
datetime.date.min	# 0001-01-01

#能输出最大日期
datetime.date.max	# 9999-12-31

如果参数不在这些范围内,则抛出 ValueError 异常。

输出年月日

dt.date(2023,2,3)	#2023-02-03

返回今天日期

datetime.date.today()

返回该日期对应星期几

返回数字0-6代表星期一-星期日
datetime.date.xxx.isoweekday()
datetime.date(xxx,xxx,xxx).isoweekday()

返回标准日期格式

YYYY-MM-DD格式
datetime.date.xxx.isoformat()
datetime.date(xxx,xxx,xxx).isoformat()

返回更改了年/月/日的日期

datetime.date.replace(year=self.year, month=self.month, day=self.day)

class datetime.time

datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)
所有参数都是可选的, tzinfo 可以是 None,或者是一个 tzinfo 子类的实例,其余的参数必须是在下面范围内的整数:

0 <= hour < 24
0 <= minute < 60
0 <= second < 60
0 <= microsecond <1000000
fold in [0, 1].

datetime.time.max	#23:59:59.999999
datetime.time.max #00:00:00

如果给出一个此范围以外的参数,则会引发 ValueError,所有参数值默认为 0,只有 tzinfo 默认为 None。

输出时分秒

datetime.time(17,53,22)	#17:53:22

返回更改了时/分/秒的日期

datetime.time.replace(hour=self.hour, minute=self.minute, second=self.second, microsecond=self.microsecond, tzinfo=self.tzinfo, *, fold=0)

class datetime.datetime

class datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)
year,month 和 day 参数是必须的,tzinfo 可以是 None 或者是一个 tzinfo 子类的实例。 其余的参数必须是在下面范围内的整数:

MINYEAR <= year <= MAXYEAR,
1 <= month <= 12,
1 <= day <= 指定年月的天数,
0 <= hour < 24,
0 <= minute < 60,
0 <= second < 60,
0 <= microsecond < 1000000,
fold in [0, 1].

datetime.datetime.max	# 9999-12-31 23:59:59.999999
datetime.datetime.min	# 0001-01-01 00:00:00

如果参数不在这些范围内,则抛出 ValueError 异常。

输出年月日时分秒

print(dt.datetime(2023,2,3,17,59,56))	#2023-02-03 17:59:56

返回今天日期

datetime.datetime.today()datetime.datetime.now()

返回该日期对应星期几

返回数字0-6代表星期一-星期日
datetime.datetime.xxx.isoweekday()
datetime.datetime(xxx,xxx,xxx).isoweekday()

返回标准日期格式

YYYY-MM-DD格式
datetime.datetime.xxx.isoformat()
datetime.datetime(xxx,xxx,xxx,xxx,xxx,xxx).isoformat()

返回更改了年/月/日/时/分/秒的日期

datetime.datetime.replace(year=self.year, month=self.month, day=self.day, hour=self.hour, minute=self.minute, second=self.second, microsecond=self.microsecond, tzinfo=self.tzinfo, *, fold=0)

strftime() 和 strptime() 的行为

date,datetime,time 对象都支持 strftime(format) 方法,可用来创建由一个显式格式字符串所控制的表示时间的字符串。

相反地,datetime.strptime() 类会根据表示日期和时间的字符串和相应的格式字符串来创建一个 datetime 对象。

下表提供了 strftime() 与 strptime() 的高层级比较:
Python-datetime模块使用详解datetime,time,date_第2张图片

strftime() 和 strptime() Format Codes

Python-datetime模块使用详解datetime,time,date_第3张图片Python-datetime模块使用详解datetime,time,date_第4张图片Python-datetime模块使用详解datetime,time,date_第5张图片

你可能感兴趣的:(Python,python)