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模块更加方便。
注意:
本文中的示例中,使用函数获取当前时间可能会导致结果不一致。时间戳等结果会根据实际运行的时间而变化。