c语言编程笔录

您现在的位置是:首页 > 编程 > 编程经验

编程经验

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异常。

文章评论