Python中如何进行日期和时间的处理?
在 Python 中,我们可以使用 datetime 模块来进行日期和时间的处理。datetime 模块提供了多个类来处理日期和时间,包括 datetime、date、time、timedelta 等。
1. datetime 类
datetime 类表示日期和时间的组合。它有 year、month、day、hour、minute、second、microsecond 七个属性,分别表示年、月、日、时、分、秒、微秒。
创建 datetime 对象的方式有多种:
①使用 datetime.now() 或 datetime.utcnow() 方法获取当前日期和时间。
import datetime now = datetime.datetime.now() # 获取当前日期和时间 utcnow = datetime.datetime.utcnow() # 获取当前 UTC 时间 print(now) print(utcnow)
输出:
2021-12-12 15:26:24.536716 2021-12-12 07:26:24.536828
②使用 datetime(year, month, day, [hour, minute, second, microsecond]) 构造函数来创建 datetime 对象。
import datetime dt1 = datetime.datetime(2021, 12, 12) dt2 = datetime.datetime(2021, 12, 12, 15, 30, 0) print(dt1) print(dt2)
输出:
2021-12-12 00:00:00 2021-12-12 15:30:00
datetime 对象还提供了多种方法来操作日期和时间,例如获取时间戳、格式化输出等。
import datetime
dt = datetime.datetime(2021, 12, 12, 15, 30, 0)
timestamp = dt.timestamp() # 获取时间戳
print(timestamp)
str = dt.strftime('%Y-%m-%d %H:%M:%S') # 格式化输出
print(str)
输出:
1639305000.0 2021-12-12 15:30:00
2. date 类
date 类表示日期,它有 year、month、day 三个属性。
创建 date 对象的方式和 datetime 类似:
①使用 date.today() 方法获取当前日期。
import datetime today = datetime.date.today() # 获取当前日期 print(today)
输出:
2021-12-12
②使用 date(year, month, day) 构造函数来创建 date 对象。
import datetime d = datetime.date(2021, 12, 12) print(d)
输出:
2021-12-12
date 对象也提供了多种方法来操作日期,例如获取周几、替换年月日等。
import datetime d = datetime.date(2021, 12, 12) weekday = d.weekday() # 获取周几,返回 0-6,分别表示周一到周日 print(weekday) d2 = d.replace(year=2020) # 替换年月日 print(d2)
输出:
6 2020-12-12
3. time 类
time 类表示时间,它有 hour、minute、second、microsecond 四个属性。
创建 time 对象的方式和 datetime 类似:
①使用 time(hour, minute, second, [microsecond]) 构造函数来创建 time 对象。
import datetime t = datetime.time(15, 30, 0) print(t)
输出:
15:30:00
time 对象提供了多种方法来操作时间,例如比较时间、格式化输出等。
import datetime
t1 = datetime.time(15, 30, 0)
t2 = datetime.time(16, 30, 0)
result = t1 < t2 # 比较时间
print(result)
str = t1.strftime('%H:%M:%S') # 格式化输出
print(str)
输出:
True 15:30:00
4. timedelta 类
timedelta 类表示两个日期或时间之间的差值。它可以用来计算日期或时间的加减。
创建 timedelta 对象的方式:
①使用 datetime.timedelta(days, [seconds, microseconds, milliseconds, minutes, hours, weeks]) 构造函数来创建 timedelta 对象。
import datetime td1 = datetime.timedelta(days=1) # 一天的时间差 td2 = datetime.timedelta(hours=1) # 一小时的时间差 now = datetime.datetime.now() tomorrow = now + td1 # 计算明天的日期 one_hour_later = now + td2 # 计算一小时后的时间 print(tomorrow) print(one_hour_later)
输出:
2021-12-13 15:26:24.536716 2021-12-12 16:26:24.536716
timedelta 对象还可以和 datetime 对象进行运算,例如计算两个日期之间的天数、小时数等。
import datetime dt1 = datetime.datetime(2021, 12, 12) dt2 = datetime.datetime(2021, 12, 14) td = dt2 - dt1 # 计算日期差 days = td.days # 获取天数 seconds = td.seconds # 获取秒数 total_seconds = td.total_seconds() # 获取总秒数 print(days, seconds, total_seconds)
输出:
2 0 172800.0
以上就是 Python 中进行日期和时间处理的基本方法和技巧,掌握这些知识可以让我们更加高效地进行日期和时间的操作。
