datetime库以格林威治时间为基础,每天由3600*24秒精准定义。该库包含两个常量:datetime.MINYEAR与datetime.MAXYEAR,分别表示datetime所能表示的最小,最大年份,值分别为1与9999。
datetime库以类的方式提供多种日期和时间的表达方式。
(1)datetime.date日期表示类,可以表示年、月、日等。
(2)datetime.time时间表示类,可以表示小时、分钟、秒、毫秒等。
(3)datetime.datetime日期和时间表示的类,功能覆盖date和time类。
(4)datetime.timedelta与时间间隔有关的类。
(5)datetime.tzinfo与时区有关的信息表示类。
datetime库基本使用datetime.now()获取当前日期和时间
datetime.utcnow()获得当前日期和时间对应的UTC(世界标准时间)时间对象,使用方法如下:
datetime(year,month,day,hour=0,minute=0,second=0,microsecond=0)返回一个datetime类型,表示指定的日期和时间
datetime类常用属性from datetime import datetime someday = datetime(2021,1,1)
| 属性 | 描述 |
|---|---|
| someday.min | 固定返回datetime的最小时间对象 |
| someday.max | 固定返回datetime的最大时间对象 |
| someday.year | 返回someday包含的年份 |
| someday.month | 返回someday包含的月份 |
| someday.day | 返回someday包含的日期 |
| someday.hour | 返回someday包含的小时 |
| someday.minute | 返回someday包含的分钟 |
| 属性 | 描述 |
|---|---|
| someday.isoformat() | 采用ISO 8601标准显示时间 |
| someday.isoweekday() | 根据日期计算星期后返回1~7,对应星期一到星期日 |
| someday.strftime(format) | 根据格式化字符串format进行格式显示的方法 |
| 格式化字符串 | 日期/时间 | 值范围 |
|---|---|---|
| %Y | 年份 | 0001~9999 |
| %m | 月份 | 01~12 |
| %B | 月名 | January~December |
| %b | 月名缩写 | Jan~Dec |
| %d | 日期 | 01~31 |
| %A | 星期 | Monday~Sunday |
| %a | 星期缩写 | Mon~Sun |
| %H | 小时(24h制) | 00~23 |
| %M | 分钟 | 00~59 |
| %S | 秒 | 00~59 |
| %x | 日期 | 月/日/年 |
| %X | 时间 | 时:分:秒 |
strftime()格式化字符串数字左侧会自动补0,可以与print()的格式化函数一起使用
>>> from datetime import datetime
>>> now = datetime.now()
>>> now.strftime("%Y-%m-%d")
'2022-01-09'
>>> now.strftime("%A, %d.%B %Y")
'Sunday, 09.January 2022'
>>> print("今天是{0:%Y}年{0:%m}月{0:%d}日".format(now))
今天是2022年01月09日
datetime在算法题中的使用
计划日



