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

Python时间函数:time、datetime、timedelta的使用方法

发布时间:2023-06-23 06:23:31

Python中的时间函数主要包括time、datetime和timedelta三类。time模块提供了将时间表示为时间戳的功能;datetime模块则将时间表示为datetime对象;timedelta模块则提供了时间差的计算方法。本文将逐一介绍这三类函数的使用方法。

1. time函数

time模块主要用来处理时间戳。时间戳表示的是从1970年1月1日0时0分0秒(UTC)开始经过的秒数。time模块提供了一些函数用来获取和处理时间戳:

time():获取当前时间戳。

如:

import time

t = time.time()

print(t) # 输出结果为当前时间戳

ctime(timestamp):将时间戳转换为可读的字符串。

如:

import time

t = time.time()

print(time.ctime(t)) # 输出结果为格式化的时间字符串

strftime(format, t):将时间戳格式化为指定的格式。

如:

import time

t = time.time()

print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(t))) # 输出结果为指定的格式

其中,format是格式化字符串,t是时间戳。

2. datetime函数

datetime模块主要用来处理时间对象。datetime对象包含了时间和日期,可以进行各种操作。

datetime模块的常见用法如下:

datetime.now():获取当前时间和日期。

如:

import datetime

d = datetime.datetime.now()

print(d) # 输出结果为当前时间和日期

datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0):创建指定的时间和日期。

如:

import datetime

d = datetime.datetime(2021, 10, 1, 12, 30, 0)

print(d) # 输出结果为2021-10-01 12:30:00

timedelta函数

timedelta模块主要用来处理时间差。timedelta对象包含了两个datetime对象之间的时间差,可以进行各种操作。

timedelta模块的常见用法如下:

timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0):创建指定的时间差。

如:

import datetime

d1 = datetime.datetime(2021, 10, 1, 12, 30, 0)

d2 = datetime.datetime(2021, 10, 2, 10, 0, 0)

t = d2 - d1

print(t) # 输出结果为0:23:30

其中,t是timedelta对象,表示d2和d1的时间差。

timedelta实例的属性和方法:

days:返回天数。

seconds:返回秒数(不包含天数)。

microseconds:返回微秒数(不包含天数和秒数)。

total_seconds():返回总的秒数(包含天数和微秒数)。

如:

import datetime

d1 = datetime.datetime(2021, 10, 1, 12, 30, 0)

d2 = datetime.datetime(2021, 10, 2, 10, 0, 0)

t = d2 - d1

print(t.days) # 输出结果为0

print(t.seconds) # 输出结果为82800

print(t.microseconds) # 输出结果为0

print(t.total_seconds()) # 输出结果为82800.0

总结:

本文介绍了Python中常用的时间函数:time、datetime和timedelta。time函数主要用于处理时间戳;datetime函数主要用于处理时间对象;timedelta函数主要用于处理时间差。在实际开发中,我们需要根据需求选择合适的函数。