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

Python中的时间日期函数:深入学习Python中的日期和时间相关函数,如strftime()、strptime()等。

发布时间:2023-06-12 05:46:52

Python是一种强大的编程语言,具有处理时间和日期的能力。Python中内置的日期和时间模块具有可靠的功能来处理日期和时间。在本文中,我们将深入学习Python中的日期和时间函数,如strftime()、strptime()等。

1. strftime()函数

strftime()函数用于将时间、日期等格式化为字符串。字符串的格式可以自定义,例如将日期和时间格式化为“年-月-日 时:分:秒”格式。下面是使用strftime()函数的示例代码:

import datetime

now = datetime.datetime.now()

print(now.strftime("%Y-%m-%d %H:%M:%S"))

输出结果:

2021-10-11 22:27:54

上面的代码中,我们首先使用datetime.datetime.now()获取当前的日期和时间。然后使用strftime()格式化日期和时间。在上面的示例中,我们传递了一个字符串参数“%Y-%m-%d %H:%M:%S”。这是一个有效的日期时间格式,并且这里的%Y、%m、%d、%H、%M和%S是格式指令。它们对应于日期和时间中的年、月、日、小时、分钟和秒。您可以使用不同的格式指令来获得所需的日期和时间格式。

2. strptime()函数

strptime()函数与strftime()相反,用于将字符串转换为时间、日期等格式。它可以将一个字符串解析成一个datetime对象。下面是一个例子:

import datetime

str_date = "2021-06-01"
date_object = datetime.datetime.strptime(str_date, "%Y-%m-%d")

print("Parsed Date:", date_object)

输出结果:

Parsed Date: 2021-06-01 00:00:00

在上面的代码中,我们定义了一个字符串str_date为“2021-06-01”,然后使用datetime.strptime函数将其转换为datetime对象。在strptime()函数中,我们传递了要解析的字符串和解析格式。在上面的示例中,解析格式为“%Y-%m-%d”,这与我们用于格式化日期时间的格式指令相同。将其作为参数传递给strptime()函数。

3. 获取当前日期

要获取当前的日期,我们可以使用datetime模块中的date类和today()函数。下面是一个简单的例子:

import datetime

today = datetime.date.today()

print("Current date is:", today)

输出结果:

Current date is: 2021-10-11

在上面的代码中,我们使用了datetime.date.today()函数获取当前日期。该函数返回的是date对象,我们将其打印到控制台。

4. 获取当前时间

如果要获取当前时间,可以使用datetime模块中的time类和now()函数。下面是演示如何获取当前时间的代码示例:

import datetime

current_time = datetime.datetime.now().time()
print("Current time is:", current_time)

输出结果:

Current time is: 22:27:54.969049

在上面的代码中,我们使用了datetime.datetime.now()函数来获取当前日期和时间。当我们调用now()函数时,它将返回datetime对象,然后我们使用time()函数提取出当前的时间。

5. 计算日期和时间差

要计算两个日期或时间之间的差异,您可以使用datetime模块中的timedelta类。下面是一个使用timedelta类计算日期差异的示例代码:

import datetime

start_date = datetime.date(2020, 1, 1)
end_date = datetime.date(2021, 1, 1)

days_dif = end_date - start_date

print("Days difference:", days_dif.days)

输出结果:

Days difference: 366

上面的代码计算了从2020年1月1日到2021年1月1日的日期差异。在计算完成后,timedelta类将以days属性的形式返回日期差异。

6. 日期、时间和时间戳之间的转换

Python中的日期和时间模块还支持日期、时间和时间戳之间的转换。datetime模块中的timestamp()函数可以将datetime对象转换为时间戳。下面是一个演示如何将datetime转换为时间戳的代码示例:

import datetime

now = datetime.datetime.now()

timestamp = datetime.datetime.timestamp(now)

print("Datetime object:", now)
print("Timestamp:", timestamp)

输出结果:

Datetime object: 2021-10-11 22:27:54.969049
Timestamp: 1633981674.969049

在上面的代码中,我们首先使用datetime.datetime.now()函数获取当前的日期和时间。接下来,我们使用datetime.datetime.timestamp()函数将其转换为时间戳。

要将时间戳转换为datetime对象,可以使用datetime模块中的fromtimestamp()函数。下面是一个演示如何将时间戳转换为datetime对象的代码示例:

import datetime

timestamp = 1633981674.969049

datetime_object = datetime.datetime.fromtimestamp(timestamp)

print("Datetime object:", datetime_object)

输出结果:

Datetime object: 2021-10-11 22:27:54.969049

在上面的代码中,我们使用datetime.datetime.fromtimestamp()函数将时间戳“1633981674.969049”转换为datetime对象。

总结

在本文中,您学习了Python日期和时间函数的不同方面。您学习了如何使用strftime()和strptime()函数格式化和解析日期和时间。您还学习了如何获取当前日期和时间,以及如何计算两个日期或时间之间的差异。最后,您还学习了如何将datetime对象转换为时间戳,以及如何将时间戳转换为datetime对象。掌握这些日期和时间函数可以让您的编程更加高效和实用。