欢迎访问宙启技术站
智能推送

如何在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模块的一些常用函数和方法。使用这些函数和方法可以方便地处理日期和时间相关的操作。