python-- time 和 datetime

1. python-- time 和 datetime

Python中的time模块和datetime模块都提供了处理时间和日期的功能。这两个模块在处理时间数据上有一些重要的区别。time模块是用来处理时间的基本操作,包括获取时间戳、计时等。而datetime模块是基于time模块的基础上进行封装的,提供了更多的日期和时间处理方法。

2. time模块

2.1 获取当前时间

使用time模块获取当前时间可以使用time.time()函数。这个函数返回从 1970年1月1日午夜经过的浮点秒数。可以结合其他函数将其转换为需要的格式。下面是一个示例:

import time

current_time = time.time()

print(current_time)

结果:

1620637642.552189

上面的代码中,current_time的值是一个浮点数,表示从1970年1月1日午夜到当前时间的秒数。

2.2 计时

在一些需要精确计算时间的场景中,可以使用time模块的计时功能。time模块提供了time.perf_counter()函数和time.process_time()函数来计算程序运行时间。

其中time.perf_counter()函数返回一个CPU级别的精确时间,可用于计算程序运行时间。下面是一个示例:

import time

start_time = time.perf_counter()

# 执行一些耗时操作

for i in range(1000000):

pass

end_time = time.perf_counter()

elapsed_time = end_time - start_time

print(elapsed_time)

结果:

0.045707952

上面的代码中,使用time.perf_counter()函数来计算for循环的执行时间。

3. datetime模块

3.1 获取当前日期和时间

datetime模块提供了datetime.datetime.now()函数来获取当前日期和时间。下面是一个示例:

import datetime

current_datetime = datetime.datetime.now()

print(current_datetime)

结果:

2021-05-10 17:49:42.552302

上面的代码中,current_datetime的值是一个datetime对象,表示当前日期和时间。

3.2 日期和时间的计算

datetime模块提供了一些方法来进行日期和时间的计算。可以通过datetime.timedelta对象来表示一段时间间隔。

下面是一个例子,计算当前日期加上10天后的日期:

import datetime

current_datetime = datetime.datetime.now()

delta = datetime.timedelta(days=10)

future_datetime = current_datetime + delta

print(future_datetime)

结果:

2021-05-20 17:49:42.552302

上面的代码中,使用datetime.timedelta(days=10)来表示10天的时间间隔,然后将它加到当前日期上,得到一个新的日期。

3.3 日期和时间的格式化

datetime模块提供了strftime()方法来将日期和时间格式化为字符串。该方法的第一个参数是一个格式化字符串,用来指定输出的格式。

下面是一个例子,将当前日期和时间格式化为"年-月-日 时:分:秒"的格式:

import datetime

current_datetime = datetime.datetime.now()

formatted_datetime = current_datetime.strftime("%Y-%m-%d %H:%M:%S")

print(formatted_datetime)

结果:

2021-05-10 17:49:42

上面的代码中,使用strftime()方法将当前日期和时间格式化为指定的格式。

4. 总结

time模块和datetime模块都提供了处理时间和日期的功能。time模块主要用于基本的时间操作,如获取当前时间、计时等;而datetime模块在time模块的基础上进行了封装,提供了更多的日期和时间处理方法。

在实际使用中,根据具体的需求选择合适的模块。如果只需要处理时间,使用time模块即可;如果需要处理日期和时间,使用datetime模块更加方便。

注意:

本文中的示例中,使用函数获取当前时间可能会导致结果不一致。时间戳等结果会根据实际运行的时间而变化。

后端开发标签