Python时间格式化 strptime的用法
王美珠 2023-07-09编程经验
介绍在Python中,有许多关于时间的操作。其中,时间格式化是很常见和必要的操作。strptime是Python中时间字符串格式化函数。该函数的主要用途是将给定的时间字符串解析为时间对象。这样
介绍
在Python中,有许多关于时间的操作。其中,时间格式化是很常见和必要的操作。strptime是Python中时间字符串格式化函数。该函数的主要用途是将给定的时间字符串解析为时间对象。这样,我们就可以使用Python的各种库和函数在其上进行各种操作。
基本用法
该函数的基本语法如下所示:
datetime.datetime.strptime(date_string, format)
其中,date_string 是时间字符串,format是该字符串的格式。使用该函数时,需要指定时间字符串的格式。该格式由一些占位符组成。例如,%Y表示年份,%m表示月份等等。下面展示几个示例。
import datetime date_string = "20210524" date = datetime.datetime.strptime(date_string, "%Y%m%d") print(date) #2021-05-24 00:00:00 date_string = "Jan 10, 2022" date = datetime.datetime.strptime(date_string, "%b %d, %Y") print(date) #2022-01-10 00:00:00
支持的占位符
下面列举一些strptime支持的占位符。更多占位符可以参考Python官方文档。
- %Y:四位数完整表示的年份
- %m:月份(01-12)
- %d:月内中的一天(01-31)
- %H:小时(00-23)
- %M:分钟数(00-59)
- %S:秒(00-59)
- %f:微秒(000000-999999)
- %a:周中某一天的缩写
- %A:周中某一天的全称
- %b:月份的缩写
- %B:月份的全称
- %c:日期时间的表示方式
- %j:年份中的一天(001-366)
下面展示一个示例,其中列出了所有支持的占位符并解析时间字符串。
import datetime date_string = "Sun, 12/11/2000, 1:59PM" date = datetime.datetime.strptime(date_string, "%a, %m/%d/%Y, %I:%M%p") print(date) #2000-12-11 13:59:00
异常处理
在使用strptime函数时,需要注意一些异常情况,例如时间字符串格式不匹配等等。为了处理这些异常情况,可以使用异常处理机制。下面展示一个异常示例。
import datetime date_string = "2021515" try: date = datetime.datetime.strptime(date_string, "%Y%m%d") except ValueError as e: print(e) #time data '2021515' does not match format '%Y%m%d' date_string = "Jan 2022" try: date = datetime.datetime.strptime(date_string, "%b %d, %Y") except ValueError as e: print(e) #time data 'Jan 2022' does not match format '%b %d, %Y'
在上述代码中,两个时间字符串的格式均与指定的格式不匹配,因此抛出了ValueError异常。
很赞哦! ()