python中的datetime函数的作用与使用方法

  • Post category:Python

Python中的datetime模块,提供了一组强大的工具来处理日期和时间,包括维护日期、时间、时间差的能力。常见的用法包括:获取当前时间、日期加减、日期格式化等等。

datetime的基础使用

导入datetime

在使用datetime之前,先导入它。

from datetime import datetime, timedelta, date

获取当前日期和时间

使用 datetime.now()方法可以获取当前日期和时间,它返回一个 datetime 对象,包含当前年、月、日、时、分、秒,毫秒数。

now = datetime.now()
print(f"当前时间是:{now}")

输出结果:

当前时间是:2021-11-28 15:26:32.086782

创建指定日期时间

通过 datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) 这个构造函数创建一个指定日期和时间的 datetime 对象。其中,yearmonthdayhourminutesecondmicrosecond 是必须的参数,它们分别表示年、月、日、时、分、秒、毫秒数,分别对应整数类型。最后一个参数 tzinfo 是时区信息,是可选的。

some_date = datetime(2021, 11, 28, 15, 30, 20, 1000)
print(f"指定时间:{some_date}")

输出结果:

指定时间:2021-11-28 15:30:20.001000

时间字符串转换为datetime对象

通过 datetime.strptime(date_string, format) 方法可以将时间字符串转换为 datetime 对象。其中,date_string 是待转换的时间字符串,format 是指定时间字符串的格式。

time_str = '2021-11-28 15:30:20'
time_format = '%Y-%m-%d %H:%M:%S'
some_date = datetime.strptime(time_str, time_format)
print(f"时间字符串转换后的时间:{some_date}")

输出结果:

时间字符串转换后的时间:2021-11-28 15:30:20

datetime常用操作

获取date、time

一个 datetime 对象可以通过 .date().time() 分别获取对应的日期和时间对象。

now = datetime.now()
today = now.date()
now_time = now.time()

print(f"当前日期:{today}")
print(f"当前时间:{now_time}")

输出结果:

当前日期:2021-11-28
当前时间:13:35:49.835084

时间加减

使用 timedelta 对象可以实现时间的加减操作,该对象包含了一个时间差量。可以通过调整 dayssecondsmicroseconds 参数实现时间的加减。

now = datetime.now()
one_hour_later = now + timedelta(hours=1)
two_days_later = now + timedelta(days=2)

print(f"当前时间:{now}")
print(f"一小时之后:{one_hour_later}")
print(f"两天之后:{two_days_later}")

输出结果:

当前时间:2021-11-28 13:38:10.822412
一小时之后:2021-11-28 14:38:10.822412
两天之后:2021-11-30 13:38:10.822412

时间格式化输出

使用 .strftime(format) 方法可以将 datetime 对象转换为指定格式的字符串。其中,format 参数表示时间格式,具体格式代码以 % 开头,后面跟随相应的日期和时间格式,例如 %Y 表示年,%m 表示月。

now = datetime.now()
time_str = now.strftime('%Y-%m-%d %H:%M:%S')
print(f"格式化后的时间:{time_str}")

输出结果:

格式化后的时间:2021-11-28 13:40:36

总结

通过本篇攻略的介绍,你已经了解了 datetime 的基础使用和常用操作。在实际应用中,datetime 会经常用到,可以帮助我们处理日期和时间相关的问题。