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

Python日期时间函数:strftime()、strptime()和timedelta()的操作技巧

发布时间:2023-06-21 21:09:10

Python是一种高级编程语言,它提供了许多内置函数和模块,用于处理日期和时间。在本篇文章中,我们将介绍三个Python日期时间函数的操作技巧:strftime()、strptime()和timedelta()。

1. strftime()

strftime()是Python中的内置函数,用于将日期和时间格式化为字符串。它接受一个格式字符串作为参数,并返回日期和时间的字符串表示。以下是一些常用的格式代码:

- %a:星期的缩写名称

- %A:星期的全名

- %b:月份的缩写名称

- %B:月份的全名

- %d:日期(01-31)

- %H:小时(24小时制,00-23)

- %I:小时(12小时制,01-12)

- %j:一年中的天数(001-366)

- %m:月份(01-12)

- %M:分钟(00-59)

- %p:AM或PM的符号

- %S:秒(00-59)

- %U:一年中的周数(00-53,星期日是一周的 天)

- %w:星期的数字表示(0-6,星期日为0)

- %W:一年中的周数(00-53,星期一是一周的 天)

- %x:日期的字符串表示(月/日/年)

- %X:时间的字符串表示(时:分:秒)

- %y:年份的后两位数字(00-99)

- %Y:年份的四位数字

以下是一个示例代码,将现在的日期和时间格式化为一个字符串:

import datetime

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

输出:

2021-10-11 18:00:00

2. strptime()

strptime()是Python中的内置函数,用于将字符串解析为日期和时间对象。它接受两个参数:一个是表示日期和时间字符串的格式字符串,另一个是要解析的字符串。以下是一些常用的格式代码:

- %a:星期的缩写名称

- %A:星期的全名

- %b:月份的缩写名称

- %B:月份的全名

- %d:日期(01-31)

- %H:小时(24小时制,00-23)

- %I:小时(12小时制,01-12)

- %j:一年中的天数(001-366)

- %m:月份(01-12)

- %M:分钟(00-59)

- %p:AM或PM的符号

- %S:秒(00-59)

- %U:一年中的周数(00-53,星期日是一周的 天)

- %w:星期的数字表示(0-6,星期日为0)

- %W:一年中的周数(00-53,星期一是一周的 天)

- %x:日期的字符串表示(月/日/年)

- %X:时间的字符串表示(时:分:秒)

- %y:年份的后两位数字(00-99)

- %Y:年份的四位数字

以下是一个示例代码,将一个日期和时间字符串解析为Datetime对象:

import datetime

date_string = "2021-10-11 18:00:00"
date_object = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print(date_object)

输出:

2021-10-11 18:00:00

3. timedelta()

timedelta()是Python中的内置函数,用于计算两个日期和时间之间的差异。它接受三个参数:days、seconds和microseconds。days参数表示天数,seconds参数表示秒数,microseconds参数表示微秒数。以下是一个示例代码,计算两个日期和时间的差异:

import datetime

date1 = datetime.datetime(2021, 10, 11, 18, 0, 0)
date2 = datetime.datetime.now()

difference = date2 - date1
print(difference)

输出:

2:48:29.518935

这个输出表示,date2比date1晚了2小时48分钟29.518935秒。如果您只需要获取时间差异的一部分,您可以使用timedelta的属性,如days、seconds和microseconds。以下示例方法将输出时间差异的秒数:

print(difference.total_seconds())

输出:

10109.518935

总结

Python提供了许多内置的日期和时间函数和模块,可以轻松地处理日期和时间。strftime()函数可将日期和时间格式化为字符串,strptime()函数可将字符串解析为日期和时间对象,timedelta()函数可计算两个日期和时间之间的差异。掌握这些函数的操作技巧,可以帮助您更有效地处理日期和时间数据。