datetime库概述
- datetime.date:日期表示类,可以表示年、月、日等
- datetime.time:时间表示类,可以表示小时、分钟、秒、毫秒等
- datetime.datetime:日期和时间表示的类,功能覆盖date和time类
- datetime.timedelta:时间间隔有关的类
- datetime.tzinfo:与时区有关的信息表示类
datetime库解析
#coding=utf-8
from datetime import datetime
today = datetime.now()
print(today)
输出结果:2022-04-08 19:30:28.379697
使用datetime.utcnow()获得当前日期和时间对应的UTC(世界标准时间)时间对象,使用方法如下:
#coding=utf-8
from datetime import datetime
today = datetime.utcnow()
print(today)
#coding=utf-8
from datetime import datetime
someday = datetime(2022, 4, 8, 19, 30, 32, 6)
print(someday)
输出结果:2022-04-08 19:30:32.000006
属性 | 描述 |
someday.min | 固定返回datetime 的最小时间对,datetime(1,1,1,0,0) |
someday.max | 固定返回datetime的最大时间对象,datetime(9999,12,31,23,59,59,999999) |
someday.year | 返回someday包含的年份 |
someday.month | 返回someday包含的月份 |
someday.day | 返回someday包含的日期 |
someday.hour | 返回someday包含的小时 |
someday.minute | 返回someday包含的分钟 |
someday.second | 返回someday包含的秒钟 |
someday.microsecond | 返回someday包含的微秒值 |
时间格式化
datetime对象有3个常用的时间格式化方法,如表所示
属性 | 描述 |
someday.isoformat() | 采用ISO 8601标准显示时间 |
someday.isoweekday() | 根据日期计算星期后返回1-7,对应星期一到星期日 |
someday.strftime(format) | 根据格式化字符串format进行格式显示的方法 |
isoformat()和isoweekday()方法的使用如下:
#coding=utf-8
from datetime import datetime
someday = datetime(2022, 4, 8, 19, 30, 32, 6)
print(someday)
print(someday.isoformat())
print(someday.isoweekday())
输出结果:
2022-04-08 19:30:32.000006
2022-04-08T19:30:32.000006
5
# coding=utf-8
from datetime import datetime
someday = datetime(2022, 4, 8, 19, 30, 32, 6)
print(someday)
print(someday.strftime("%Y-%m-%d %H:%M:%S"))
输出结果:
2022-04-08 19:30:32.000006
2022-04-08 19:30:32
格式化字符串 | 日期/时间 | 值范围和实例 |
%Y | 年份 | 0001~9999,例如: 1900 |
%m | 月份 | 01~12,例如: 10 |
%B | 月名 | January~December,例如: April |
%b | 月名缩写 | Jan~Dec,例如: Apr |
%d | 日期 | 01 ~ 31,例如: 25 |
%A | 星期 | Monday~Sunday,例如: Wednesday |
%a | 星期缩写 | Mon~Sun,例如: Wed |
%H | 小时(24h制) | 00 ~ 23,例如: 12 |
%I | 小时( 12h制) | 01 ~ 12,例如: 7 |
%p | 上/下午 | AM, PM,例如:PM |
%M | 分钟 | 00 ~ 59,例如:26 |
%S | 秒 | 00 ~ 59,例如:26 |
strftime()格式化字符串的数字左侧会自动补零,上述格式也可以与print()的格式化函数一起使用
# coding=utf-8
from datetime import datetime
now = datetime.now()
print(now.strftime("%Y-%m-%d"))
print(now.strftime("%A, %d. %B %Y %I:%M%p"))
print("今天是{0:%Y}年{0:%m}月{0:%d}日".format(now))
2022-04-08
Friday, 08. April 2022 08:24PM
今天是2022年04月08日
2022/4/8