PYTHON基础-时间日期处理小结
时间日期处理在数据处理中是一个重要的环节,Python提供了很多内置的模块来方便我们进行时间日期处理。
datetime模块
datetime模块是Python中用于处理时间日期的模块,其中包含了许多常用的类和函数。以下是datetime模块中的主要类:
- date:日期类,用于处理年月日
- time:时间类,用于处理时分秒毫秒
- datetime:日期时间类,包含了date类和time类的所有功能
- timedelta:时间差类,用于计算时间的差值
date类
date类包含了处理年月日的功能,可以通过以下方式创建一个date对象:
from datetime import date
# 创建一个表示当前日期的date对象
today = date.today()
# 创建一个表示指定日期的date对象,参数分别为年、月、日
date_obj = date(2022, 1, 1)
我们也可以通过date对象获取年、月、日等相关信息:
# 获取年份
year = date_obj.year
# 获取月份
month = date_obj.month
# 获取日期
day = date_obj.day
date对象还支持比较运算符:
if date_obj1 > date_obj2:
print("date_obj1比date_obj2晚")
else:
print("date_obj2比date_obj1晚")
time类
time类包含了处理时分秒毫秒的功能,可以通过以下方式创建一个time对象:
from datetime import time
# 创建一个表示当前时间的time对象
now = time.now()
# 创建一个表示指定时间的time对象,参数分别为小时、分钟、秒、微秒
time_obj = time(20, 15, 30, 500000)
我们也可以通过time对象获取时、分、秒等相关信息:
# 获取小时
hour = time_obj.hour
# 获取分钟
minute = time_obj.minute
# 获取秒
second = time_obj.second
# 获取微秒
microsecond = time_obj.microsecond
datetime类
datetime类可以同时处理日期和时间,包含了date类和time类的所有功能,可以通过以下方式创建一个datetime对象:
from datetime import datetime
# 创建一个表示当前日期时间的datetime对象
now = datetime.now()
# 创建一个表示指定日期时间的datetime对象,参数分别为年、月、日、时、分、秒、微秒
datetime_obj = datetime(2022, 1, 1, 20, 15, 30, 500000)
我们也可以通过datetime对象获取年、月、日、时、分、秒等相关信息:
# 获取年份
year = datetime_obj.year
# 获取月份
month = datetime_obj.month
# 获取日期
day = datetime_obj.day
# 获取小时
hour = datetime_obj.hour
# 获取分钟
minute = datetime_obj.minute
# 获取秒
second = datetime_obj.second
# 获取微秒
microsecond = datetime_obj.microsecond
datetime对象和date对象、time对象类似,也支持比较运算符。我们还可以将datetime对象转换为字符串,或将字符串转换为datetime对象:
# 将datetime对象转换为字符串
datetime_str = datetime_obj.strftime("%Y-%m-%d %H:%M:%S.%f")
# 将字符串转换为datetime对象
datetime_obj = datetime.strptime(datetime_str, "%Y-%m-%d %H:%M:%S.%f")
timedelta类
timedelta类用于计算时间的差值,可以通过以下方式创建一个timedelta对象:
from datetime import timedelta
# 创建一个表示一天的timedelta对象
one_day = timedelta(days=1)
# 创建一个表示一小时的timedelta对象
one_hour = timedelta(hours=1)
# 创建一个表示一分钟的timedelta对象
one_minute = timedelta(minutes=1)
# 创建一个表示一秒钟的timedelta对象
one_second = timedelta(seconds=1)
# 创建一个表示一毫秒的timedelta对象
one_microsecond = timedelta(microseconds=1)
# 创建一个表示特定时间差的timedelta对象,参数分别为天数、小时数、分钟数、秒数、微秒数
time_diff = timedelta(days=1, hours=2, minutes=30, seconds=45, microseconds=500000)
我们可以对datetime对象进行加减操作,以计算出时间的差值:
from datetime import datetime, timedelta
# 创建两个datetime对象
datetime_obj1 = datetime(2022, 1, 1, 20, 15, 30, 500000)
datetime_obj2 = datetime(2022, 1, 2, 10, 30, 15, 200000)
# 计算datetime_obj2比datetime_obj1晚的时间差
time_diff = datetime_obj2 - datetime_obj1
# 获取时间差表示的天数
days = time_diff.days
# 获取时间差表示的秒数
seconds = time_diff.seconds
# 获取时间差表示的微秒数
microseconds = time_diff.microseconds
示例说明
示例1:计算两个日期之间的天数
假设我们有两个日期对象date_obj1和date_obj2,我们想要计算它们之间相隔的天数。我们可以使用timedelta类进行计算:
from datetime import date, timedelta
# 创建两个日期对象
date_obj1 = date(2022, 1, 1)
date_obj2 = date(2022, 1, 10)
# 计算相隔的天数
days = (date_obj2 - date_obj1).days
print("两个日期之间相隔的天数为:{}".format(days))
输出结果为:
两个日期之间相隔的天数为:9
示例2:格式化输出当前时间
假设我们想要以特定的格式输出当前时间,我们可以借助strftime方法:
from datetime import datetime
# 创建当前日期时间对象
now = datetime.now()
# 将日期时间对象转换为字符串
now_str = now.strftime("%Y-%m-%d %H:%M:%S")
print("当前时间为:{}".format(now_str))
输出结果为:
当前时间为:2022-07-27 11:23:45
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PYTHON基础-时间日期处理小结 - Python技术站