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

Python中time()和datetime()模块的用法和区别

发布时间:2023-07-01 04:56:25

time模块是Python标准库中的一部分,而datetime模块则是在time模块基础上扩展得到的。两个模块都用于处理时间和日期的相关操作,但在功能和用法上有一些区别。

time模块主要用于获取系统当前时间、计算时间间隔、格式化时间等操作。常见的time模块方法包括:

1. time():返回当前的时间戳,即从1970年1月1日0点开始到现在的秒数。

2. localtime():将时间戳转换为本地时间,返回一个struct_time对象,包含年、月、日、小时、分钟等信息。

3. gmtime():将时间戳转换为UTC时间。

4. strftime():将struct_time对象格式化为指定的字符串格式。

5. mktime():将struct_time对象转换为时间戳。

示例代码如下:

import time

# 获取当前时间戳
timestamp = time.time()
print("当前时间戳:%f" % timestamp)

# 将时间戳转换为本地时间
local_time = time.localtime(timestamp)
print("本地时间:%s" % time.asctime(local_time))

# 将时间戳转换为UTC时间
utc_time = time.gmtime(timestamp)
print("UTC时间:%s" % time.asctime(utc_time))

# 将时间格式化为指定字符串格式
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print("格式化时间:%s" % formatted_time)

# 将struct_time对象转换为时间戳
timestamp2 = time.mktime(local_time)
print("时间戳:%f" % timestamp2)

datetime模块扩展了time模块的功能,提供了更多的操作时间和日期的方法。常见的datetime模块类包括:

1. datetime:表示一个特定的日期时间对象,包含年、月、日、小时、分钟等信息。

2. timedelta:表示时间间隔,可以对日期进行加减操作。

示例代码如下:

import datetime

# 获取当前日期时间
now = datetime.datetime.now()
print("当前日期时间:%s" % now)

# 格式化日期时间
formatted_datetime = now.strftime("%Y-%m-%d %H:%M:%S")
print("格式化日期时间:%s" % formatted_datetime)

# 解析字符串为日期时间对象
datetime_str = "2022-01-01 12:00:00"
parsed_datetime = datetime.datetime.strptime(datetime_str, "%Y-%m-%d %H:%M:%S")
print("解析字符串后的日期时间:%s" % parsed_datetime)

# 计算时间间隔
time_delta = parsed_datetime - now
print("时间间隔:%s" % time_delta)

总的来说,time模块更多用于获取和操作时间戳,而datetime模块则更适用于处理日期时间对象的操作。两者可以根据具体的需求选择使用。