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
对象。其中,year
、 month
、day
、hour
、 minute
、second
、microsecond
是必须的参数,它们分别表示年、月、日、时、分、秒、毫秒数,分别对应整数类型。最后一个参数 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
对象可以实现时间的加减操作,该对象包含了一个时间差量。可以通过调整 days
、seconds
、microseconds
参数实现时间的加减。
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
会经常用到,可以帮助我们处理日期和时间相关的问题。