Python 中的日期和时间处理函数
Python 的标准库中有许多用于处理日期和时间的函数和类,这些工具可以让我们轻松地获取当前时间、计算两个日期之间的时间差、将日期以某种格式输出等等。本文将介绍 Python 中常用的日期和时间处理函数及其用法。
1. time 模块
time 模块包含了一些与时间相关的函数,最常用的是 time() 函数和 sleep() 函数。
time() 函数返回当前的时间戳(1970 年 1 月 1 日零点以来经过的秒数),使用示例如下:
import time # 获取当前时间戳 timestamp = time.time() print(timestamp)
sleep() 函数可以让程序暂停一段时间,使用示例如下:
import time
print('开始执行')
time.sleep(2) # 暂停 2 秒
print('结束执行')
2. datetime 模块
datetime 模块提供了一个 datetime 类,用于处理日期和时间。datetime 类有多个构造函数,最常用的是 datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0) 函数,它创建一个日期时间对象,可以通过访问该对象的 year、month、day、hour、minute、second 和 microsecond 属性获取对应的值。
使用示例如下:
import datetime # 获取当前日期和时间 now = datetime.datetime.now() print(now) # 获取当前日期 today = datetime.datetime.today() print(today) # 创建特定日期时间 dt = datetime.datetime(2021, 9, 30, 12, 30, 0) print(dt)
3. timedelta 类
timedelta 类表示两个日期或时间之间的时间差。使用示例如下:
import datetime now = datetime.datetime.now() dt = datetime.datetime(2021, 9, 30, 12, 30, 0) # 计算时间差 diff = now - dt print(diff) print(diff.days) # 输出天数 print(diff.seconds) # 输出总秒数(不包括天数)
4. strftime() 函数
datetime 类中的 strftime() 函数可以将日期时间格式化为字符串。它需要一个格式化字符串作为参数,格式化字符串中包含一些特定的占位符,代表日期时间的各个部分。
使用示例如下:
import datetime
now = datetime.datetime.now()
# 将日期格式化为字符串
str_now = now.strftime('%Y-%m-%d %H:%M:%S')
print(str_now)
常用的占位符包括:
- %Y:年份,4 位数字;
- %m:月份,两位数字,01-12;
- %d:日期,两位数字,01-31;
- %H:小时,两位数字,00-23;
- %M:分钟,两位数字,00-59;
- %S:秒数,两位数字,00-59。
5. strptime() 函数
strptime() 函数将字符串转换为日期时间。它需要两个参数, 个是要转换的字符串,第二个是表示格式的字符串。
使用示例如下:
import datetime str_date = '2021-09-30 12:30:00' # 将字符串转换为日期时间 dt = datetime.datetime.strptime(str_date, '%Y-%m-%d %H:%M:%S') print(dt)
以上是 Python 中常用的日期和时间处理函数及其用法。在实际开发中,日期和时间处理是非常常见的需求,理解这些函数和类的用法对于提高代码的效率和可读性非常有帮助。
