Python 中的日期不是其自身的数据类型,但是我们可以导入名为 datetime 的模块,把日期视作日期对象进行处理。
实例
导入 datetime 模块并显示当前日期:
import datetime
x = datetime.datetime.now()
print(x)
运行实例
2023-02-14 20:43:20.889388
如果我们执行上面的代码,结果将是:
2019-08-14 12:52:55.817273
日期包含年、月、日、小时、分钟、秒和微秒。
datetime 模块有许多方法可以返回有关日期对象的信息。
以下是一些例子,您将在本章稍后详细学习它们:
实例
返回 weekday 的名称和年份:
import datetime
x = datetime.datetime.now()
print(x.year)
print(x.strftime("%A"))
运行实例
2023
Tuesday
如需创建日期,我们可以使用 datetime 模块的 datetime() 类(构造函数)。
datetime() 类需要三个参数来创建日期:年、月、日。
实例
创建日期对象:
import datetime
x = datetime.datetime(2020, 5, 17)
print(x)
运行实例
2020-05-17 00:00:00
datetime() 类还接受时间和时区(小时、分钟、秒、微秒、tzone)的参数,不过它们是可选的,默认值为 0,(时区默认为 None)。
datetime 对象拥有把日期对象格式化为可读字符串的方法。
该方法称为 strftime(),并使用一个 format 参数来指定返回字符串的格式:
实例
显示月份的名称:
import datetime
x = datetime.datetime(2019, 10, 1)
print(x.strftime("%B"))
运行实例
October
所有合法格式代码的参考:
指令:%a
描述:Weekday,短版本
实例:Wed
import datetime
x = datetime.datetime.now()
print(x.strftime("%a"))
运行实例:
Tue
指令:%A
描述:Weekday,完整版本
实例:Wednesday
import datetime
x = datetime.datetime.now()
print(x.strftime("%A"))
运行实例:
Tuesday
指令:%w
描述:Weekday,数字 0-6,0 为周日
实例:3
import datetime
x = datetime.datetime.now()
print(x.strftime("%w"))
运行实例:
2
指令:%d
描述:日,数字 01-31
实例:31
import datetime
x = datetime.datetime.now()
print(x.strftime("%d"))
运行实例:
14
指令:%b
描述:月名称,短版本
实例:Dec
import datetime
x = datetime.datetime.now()
print(x.strftime("%b"))
运行实例:
Feb
指令:%B
描述:月名称,完整版本
实例:December
import datetime
x = datetime.datetime.now()
print(x.strftime("%B"))
运行实例:
February
指令:%m
描述:月,数字01-12
实例:12
import datetime
x = datetime.datetime.now()
print(x.strftime("%m"))
运行实例:
02
指令:%y
描述:年,短版本,无世纪
实例:18
import datetime
x = datetime.datetime.now()
print(x.strftime("%y"))
运行实例:
23
指令:%Y
描述:年,完整版本
实例:2018
import datetime
x = datetime.datetime.now()
print(x.strftime("%Y"))
运行实例:
2023
指令:%H
描述:小时,00-23
实例:17
import datetime
x = datetime.datetime.now()
print(x.strftime("%H"))
运行实例:
20
指令:%I
描述:小时,00-12
实例:05
import datetime
x = datetime.datetime.now()
print(x.strftime("%I"))
运行实例:
08
指令:%p
描述:AM/PM
实例:PM
import datetime
x = datetime.datetime.now()
print(x.strftime("%p"))
运行实例:
PM
指令:%M
描述:分,00-59
实例:41
import datetime
x = datetime.datetime.now()
print(x.strftime("%M"))
运行实例:
57
指令:%S
描述:秒,00-59
实例:08
import datetime
x = datetime.datetime.now()
print(x.strftime("%S"))
运行实例:
02
指令:%f
描述:微妙,000000-999999
实例:548513
import datetime
x = datetime.datetime.now()
print(x.strftime("%f"))
运行实例:
092953
指令:%j
描述:天数,001-366
实例:365
import datetime
x = datetime.datetime.now()
print(x.strftime("%j"))
运行实例:
045
指令:%U
描述:周数,每周的第一天是周日,00-53
实例:52
import datetime
x = datetime.datetime.now(2018, 5, 30)
print(x.strftime("%U"))
指令:%W
描述:周数,每周的第一天是周一,00-53
实例:52
import datetime
x = datetime.datetime(2018, 5, 31)
print(x.strftime("%W"))
运行实例:
22
指令:%c
描述:日期和时间的本地版本
实例:Mon Dec 31 17:41:00 2018
import datetime
x = datetime.datetime.now()
print(x.strftime("%c"))
运行实例:
Tue Feb 14 21:00:34 2023
指令:%x
描述:日期的本地版本
实例:12/31/18
import datetime
x = datetime.datetime.now()
print(x.strftime("%x"))
运行实例:
02/14/23
指令:%X
描述:时间的本地版本
实例:17:41:00
import datetime
x = datetime.datetime.now()
print(x.strftime("%X"))
运行实例:
21:01:34
指令:%%
描述:A % character
实例:%
import datetime
x = datetime.datetime.now()
print(x.strftime("%%"))
运行实例:
python_datetime_strftime_percent.py
%