Python日期时间函数:strftime()、strptime()和timedelta()的操作技巧
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()函数可计算两个日期和时间之间的差异。掌握这些函数的操作技巧,可以帮助您更有效地处理日期和时间数据。
