datetime的作用
Python datetime的模块,用于处理日期和时间
datetime 官网
datetime模块的类如下

datetime 使用的时候需要引入datetime
import datetime
下面说下其中的2个datetime 和 date
date 类
import datetime
# 获取当前日期
t1 = datetime.date.today()
# 获取年
t2 = datetime.date.today().year
# 获取月
t3 = datetime.date.today().month
# 获取日
t4 = datetime.date.today().day
print(t1)
print(t2)
print(t3)
print(t4)
打印结果

datetime 类
import datetime
# 获取当前日期和时间
t1 = datetime.datetime.now()
# 获取年
t2 = datetime.datetime.now().year
# 获取月
t3 = datetime.datetime.now().month
# 获取日
t4 = datetime.datetime.now().day
# 获取时
t5 = datetime.datetime.now().hour
# 获取分
t6 = datetime.datetime.now().minute
# 获取秒
t7 = datetime.datetime.now().second
# 获取毫秒
t8 = datetime.datetime.now().microsecond
print(t1)
print(t2)
print(t3)
print(t4)
print(t5)
print(t6)
print(t7)
print(t8)
打印结果

datetime时间格式化
使用strftime
import datetime
# 获取当前日期和时间
t1 = datetime.datetime.now().strftime("%Y年%m月%d日, %H:%M:%S,今天是%A")
print(t1)
打印结果

指定含义
| 指令 | 含义 | 例如 |
| %a | 工作日名称的缩写。 | Sun, Mon, ... |
| %A | 工作日全名。 | Sunday, Monday, .. |
| %w | 工作日为十进制数字。 | 0,1,...,6 |
| %d | 月份中的一天,以零填充的十进制数表示。 | 01,02,...,31 |
| %-d | 以十进制数表示的月份中的一天。 | 1,2,...,30 |
| %b | 月份的缩写。 | Jan, Feb, ..., Dec |
| %B | 完整的月份名称。 | January, February, ... |
| %m | 月份为零填充的十进制数字。 | 01、02,...,12 |
| %-m | 以十进制数表示的月份。 | 1,2,...,12 |
| %y | 无世纪的年份,为零填充的十进制数字。 | 00、01,...,99 |
| %-y | 没有世纪的年份作为十进制数字。 | 0,1,...,99 |
| %Y | 以世纪作为十进制数字的年份。 | 2013、2019等 |
| %H | 小时(24小时制),为补零的十进制数字。 | 00、01,...,23 |
| %-H | 小时(24小时制)为十进制数字。 | 0,1,...,23 |
| %I | 小时(12小时制),为零填充的十进制数字。 | 01、02,...,12 |
| %-I | 小时(12小时制)为十进制数字。 | 1 2 2 |
| %p | 语言环境的上午或下午。 | AM,PM |
| %M | 分钟,为零填充的十进制数字。 | 00、01,...,59 |
| %-M | 以十进制数字表示。 | 0,1,...,59 |
| %S | 第二个为零填充的十进制数。 | 00、01,...,59 |
| %-S | 第二个十进制数字。 | 0,1,...,59 |
| %f | 微秒,十进制数,在左侧补零。 | 000000-999999 |
| %z | UTC偏移量,格式为+ HHMM或-HHMM。 | |
| %Z | 时区名称。 | |
| %j | 一年中的一天,以零填充的十进制数字表示。 | 001,002,...,366 |
| %-j | 一年中的天,以十进制数字表示。 | 1,2,...,366 |
| %U | 一年中的第几周(星期日为一周的第一天)。在第一个星期日之前的新的一年中的所有天都被视为在第0周。 | 00、01,...,53 |
| %W | 一年中的第几周(星期一为一周中的第一天)。第一个星期一之前的新的一年中的所有天均视为在第0周。 | 00、01,...,53 |
| %c | 语言环境的适当日期和时间表示。 | Mon Sep 30 07:06:05 2019 |
| %x | 语言环境的适当日期表示形式。 | 13/9/30 |
| %X | 语言环境的适当时间表示形式。 | 07:06:05 |
| %% | 文字“%”字符。 | % |
日期和时间戳转换
import datetime
# 获取当前日期和时间
t1 = datetime.datetime.now()
print(t1)
# 时间戳
t2 = datetime.datetime.timestamp(t1)
print(t2)
# 把时间戳转成日期
t3 = datetime.date.fromtimestamp(t2)
print(t3)
打印结果

常见的耗时操作
import datetime
# 获取当前日期和时间
t1 = datetime.datetime.now()
# 写一个耗时
sum1 = 0
for i in range(100000000):
sum1 += i
t2 = datetime.datetime.now()
# 由于now获取的是时分秒,这里获取秒
t3 = (t2 - t1).seconds
print("总共用时:" + str(t3) + "秒")


















