如何在Python中使用时间日期函数?
发布时间:2023-05-24 12:10:58
在Python中有多个模块可以用来处理日期和时间。其中比较常用的是datetime和time模块。datetime模块提供了更为丰富的功能,可用于创建和处理日期和时间对象;time模块则提供了更为底层的函数,用于处理时间戳(timestamp)。
下面将介绍如何在Python中使用datetime和time模块的相关函数。
1. datetime模块
(1)创建日期和时间对象
datetime模块提供了三类对象:date、time、datetime。
import datetime # 创建日期对象 d = datetime.date(2021, 8, 15) print(d) # 输出:2021-08-15 # 创建时间对象 t = datetime.time(14, 30, 0) print(t) # 输出:14:30:00 # 创建日期时间对象 dt = datetime.datetime(2021, 8, 15, 14, 30, 0) print(dt) # 输出:2021-08-15 14:30:00
(2)获取当前时间
datetime模块提供了datetime.datetime.now()函数用于获取当前时间。
import datetime now = datetime.datetime.now() print(now) # 输出:2021-08-15 14:30:00.123456
(3)日期时间格式化
datetime模块提供了strftime()和strptime()函数用于格式化日期时间。
import datetime
# 格式化时间为字符串
now = datetime.datetime.now()
str_time = now.strftime("%Y-%m-%d %H:%M:%S")
print(str_time) # 输出:2021-08-15 14:30:00
# 将字符串转换为时间
str_time = "2021-08-15 14:30:00"
time_obj = datetime.datetime.strptime(str_time, "%Y-%m-%d %H:%M:%S")
print(time_obj) # 输出:2021-08-15 14:30:00
(4)日期时间计算
datetime模块提供了timedelta类用于表示两个日期时间之间的差值,可以用来进行日期时间计算。
import datetime d1 = datetime.date(2021, 8, 15) d2 = datetime.date.today() # 计算两个日期的差值 delta = d2 - d1 print(delta.days) # 输出:0 t1 = datetime.datetime(2021, 8, 15, 14, 30, 0) t2 = datetime.datetime.now() # 计算两个时间的差值 delta_t = t2 - t1 print(delta_t) # 输出:0:00:01.567890
2. time模块
(1)获取当前时间戳
time模块提供了time()函数用于获取当前时间戳。
import time timestamp = time.time() print(timestamp) # 输出:1629019853.123456
(2)时间戳转换
time模块提供了gmtime()和localtime()函数用于将时间戳转换为struct_time结构体,同时提供了asctime()和strftime()函数用于将struct_time转换为字符串。
import time
timestamp = time.time()
# 将时间戳转换为struct_time结构体并格式化输出
struct_time = time.gmtime(timestamp)
print(time.asctime(struct_time)) #输出:Sun Aug 15 06:24:13 2021
# 将struct_time结构体转换为字符串
str_time = time.strftime("%Y-%m-%d %H:%M:%S", struct_time)
print(str_time) #输出:2021-08-15 06:24:13
以上就是datetime和time模块的一些常用函数和方法。使用这些函数和方法可以方便地处理日期和时间相关的操作。
