在Python中,处理时间数据通常使用 datetime
模块。这个模块提供了丰富的功能来定义和操作日期和时间
其中我们常见的时间操作如:定义一个时间、获取当前时间、获取时间戳、时间数据与字符串数据之间的转换、时间之间的相加减等;下面我们依次介绍:
1、使用datetime
模块定义一个日期:
我们以当日为例,定义一个日期;时间格式:"%Y-%m-%d"为年月日格式,因为未定义时分秒,所以它的时间默认为当日的0点0分0秒,若想定义时分秒,我们需要将时分秒的格式补全即可:"%Y-%m-%d %H:%M:%S"
from datetime import datetime
# 定义一个日期
date_str = "2024-08-11"
date_format = "%Y-%m-%d"
date_obj = datetime.strptime(date_str, date_format)
print("Date object:", date_obj) # 输出: Date object: 2024-08-11 00:00:00
2、获取当前时间
获取当前时间与使用datetime
模块定义时间不同的是,它会获取系统的当前时间,而不需要我们定义一个字符串来进行转换:
now = datetime.now()
print("Current date and time:", now)
3、获取时间戳
时间戳是表示某个特定时间点的数字值,通常以秒或毫秒为单位的自某个基准时间(如1970年1月1日00:00:00 UTC)以来的秒数。它用于计算和记录时间间隔,广泛应用于计算机系统中
import time
from datetime import datetime
#获取当前时间戳
timestamp = time.time()
print("Current timestamp:", timestamp)
#将时间戳转换为datetime对象
timestamp = 1691686800 # 示例时间戳
dt_object = datetime.fromtimestamp(timestamp)
print("Datetime object:", dt_object)
#将datetime对象转换为时间戳格式
dt_object = datetime(2024, 8, 11, 15, 30)
timestamp = dt_object.timestamp()
print("Timestamp:", timestamp)
4、时间的加减操作
时间的加减操作时最为常见的时间操作,主要使用datetime模块中的 timedelta方法:
from datetime import timedelta
# 加 10 天
future_date = date_obj + timedelta(days=10)
print("Date after 10 days:", future_date) # 输出: Date after 10 days: 2024-08-21 00:00:00
# 减 5 天
past_date = date_obj - timedelta(days=5)
print("Date 5 days before:", past_date) # 输出: Date 5 days before: 2024-08-06 00:00:00
ps:时间的大小区分主要以时间的前后进行区分,时间越靠后,时间越小(举例:2024-04-22与2024-08-22相比,从时间角度比较2024-04-22更大)