20-python学习笔记之日期
文章目录
前言
以下都是自己的一些学习笔记,可能有写的不对的地方,还望各位大佬体谅和加以指正。
Python 日期
Python 中的日期不是其自身的数据类型,但是我们可以导入名为 datetime
的模块,把日期视作日期对象进行处理。
导入 datetime
模块并显示当前日期:
import datetime
x = datetime.datetime.now() # 显示当前日期以及时间
print(x) # 2022-05-14 18:30:12.938223
一、datetime 的具体使用
日期输出
如果我们执行上面的代码,结果将是:
2019-08-14 12:52:55.817273
日期包含年、月、日、小时、分钟、秒和微秒。
datetime
模块有许多方法可以返回有关日期对象的信息。
以下是一些例子,我们将在本章稍后详细学习它们:
返回 weekday 的名称和年份:
import datetime
x = datetime.datetime.now()
print(x.year) # 输出年份
print(x.strftime("%A")) # 输出星期几(英文)
创建日期对象
如需创建日期,我们可以使用 datetime
模块的 datetime()
类(构造函数)。
datetime()
类需要三个参数来创建日期:年、月、日。
创建日期对象:
import datetime
x = datetime.datetime(2020, 5, 17)
print(x) # 2020-05-17 00:00:00
Tips
:datetime()
类还接受时间和时区(小时、分钟、秒、微秒、tzone)的参数,不过它们是可选的,默认值为 0,(时区默认为 None
)
strftime() 方法
datetime 对象拥有把日期对象格式化为可读字符串的方法。
该方法称为 strftime()
,并使用一个 format 参数来指定返回字符串的格式:
显示月份的名称:
import datetime
x = datetime.datetime(2019, 10, 1)
print(x.strftime("%B")) # October (英文 十月份)
所有合法格式代码的参考:
指令 描述 实例
%a Weekday,短版本 Wed
%A Weekday,完整版本 Wednesday
%w Weekday,数字 0-6,0 为周日 3
%d 日,数字 01-31 31
%b 月名称,短版本 Dec
%B 月名称,完整版本 December
%m 月,数字01-12 12
%y 年,短版本,无世纪 18
%Y 年,完整版本 2018
%H 小时,00-23 17
%I 小时,00-12 05
%p AM/PM PM
%M 分,00-59 41
%S 秒,00-59 08
%f 微妙,000000-999999 548513
%z UTC 偏移 +0100
%Z 时区 CST
%j 天数,001-366 365
%U 周数,每周的第一天是周日, 00-53 52
%W 周数,每周的第一天是周一, 00-53 52
%c 日期和时间的本地版本 Mon Dec 31 17:41:00 2018
%x 日期的本地版本 12/31/18
%X 时间的本地版本 17:41:00
%% A % character %
二、datetime 的常用方法
获取当前时间
import datetime
time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(time) # 2022-05-14 18:44:55
测试程序运行时间
使用函数 timeit
timeit.timeit(stmt=代码块/函数名,number=执行次数,)
import timeit
def test():
for i in range(1000):
print(i)
time = timeit.timeit(stmt=test, number=1)
print(time) # 0.004162199999999998
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!