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

Python中时间日期相关的函数详解

发布时间:2023-06-02 06:36:41

在Python中,我们可以通过datetime库来对时间和日期进行操作。这个库提供了各种函数,可以用来实现时间日期的转换、格式化、计算等功能。下面,我们对常用的一些函数进行详细讲解。

1. datetime

datetime类是datetime库中最基础的类,它包含了年、月、日、时、分、秒等信息。可以通过如下方式创建一个datetime对象:

from datetime import datetime

now = datetime.now()
print(now)

输出结果为:2021-11-02 14:02:32.101554

我们可以使用strftime函数将datetime对象转换为指定格式的字符串:

print(now.strftime('%Y-%m-%d'))

输出结果为:2021-11-02

同样,我们也可以将指定格式字符串转换为datetime对象:

str_time = '2021-11-02 14:09:40'
datetime_time = datetime.strptime(str_time, '%Y-%m-%d %H:%M:%S')
print(datetime_time)

输出结果为:2021-11-02 14:09:40

2. timedelta

timedelta类是用来表示时间差的类,可以用来进行时间的加减操作。例如,我们需要计算两个时间之间相差的天数:

from datetime import timedelta

start_time = datetime.strptime('2021-10-01', '%Y-%m-%d')
end_time = datetime.strptime('2021-11-02', '%Y-%m-%d')
delta = end_time - start_time
print(delta.days)

输出结果为:32

3. date

date类是一个相对较简单的类,只包含了年、月、日这些信息。可以通过如下方式创建一个date对象:

from datetime import date

today = date.today()
print(today)

输出结果为:2021-11-02

我们也可以使用strftime函数将date对象转换为指定格式的字符串:

print(today.strftime('%Y-%m-%d'))

输出结果为:2021-11-02

4. time

time类只包含了时、分、秒等信息。可以通过如下方式创建一个time对象:

from datetime import time

now_time = time(14, 16, 30)
print(now_time)

输出结果为:14:16:30

我们同样也可以使用strftime函数将time对象转换为指定格式的字符串:

print(now_time.strftime('%H:%M:%S'))

输出结果为:14:16:30

5. tzinfo

tzinfo用于表示时区信息,可以通过继承它来实现时区转换。例如,我们需要将UTC时间转换为北京时间:

from datetime import datetime, timedelta, timezone

utc_dt = datetime.utcnow().replace(tzinfo=timezone.utc)
bj_dt = utc_dt.astimezone(timezone(timedelta(hours=8)))
print(utc_dt)
print(bj_dt)

输出结果为:

2021-11-02 06:47:54.842606+00:00
2021-11-02 14:47:54.842606+08:00

以上就是Python中常用的时间日期相关函数的详解。在实际开发中,时间日期相关操作是非常常见的,熟练掌握这些函数对于提高编程效率非常有帮助。