专业编程基础技术教程

网站首页 > 基础教程 正文

Python 中 strftime 与 strptime 的综合比较

ccvgpt 2024-08-12 15:01:07 基础教程 21 ℃

在 Python 编程中使用日期和时间时,经常使用两个方法:strftime() 和 strptime()。这两个方法用于格式化和解析日期和时间字符串。了解 strftime() 和 strptime() 之间的差异对于准确操作和显示代码中的日期和时间信息至关重要。

strftime() 方法

strftime() 方法用于将 datetime 对象格式化为字符串表示形式。

Python 中 strftime 与 strptime 的综合比较

允许自定义特殊的格式,将 datetime 对象转换为人类可读的日期和时间字符串。

语法:

time.strftime(format[, t])

参数:

  • format -- 格式字符串。
  • t -- 可选的参数 t 是一个 struct_time 对象。

格式化符号:

  • %y 两位数的年份表示(00-99)
  • %Y 四位数的年份表示(000-9999)
  • %m 月份(01-12)
  • %d 月内中的一天(0-31)
  • %H 24小时制小时数(0-23)
  • %I 12小时制小时数(01-12)
  • %M 分钟数(00=59)
  • %S 秒(00-59)
  • %a 本地简化星期名称
  • %A 本地完整星期名称
  • %b 本地简化的月份名称
  • %B 本地完整的月份名称
  • %c 本地相应的日期表示和时间表示
  • %j 年内的一天(001-366)
  • %p 本地A.M.或P.M.的等价符
  • %U 一年中的星期数(00-53)星期天为星期的开始
  • %w 星期(0-6),星期天为星期的开始
  • %W 一年中的星期数(00-53)星期一为星期的开始
  • %x 本地相应的日期表示
  • %X 本地相应的时间表示
  • %Z 当前时区的名称
  • %% %号本身

示例:

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

# 输出:
2024-08-07
14:35:31
2024-08-07 14:35:31

注意事项:

strftime() 方法会认为 datetime 对象已包含正确的日期和时间值。如果 datetime 对象创建错误,strftime() 仍会格式化它,而不会出现任何错误警告。

strptime() 方法

strptime() 方法根据指定的格式把一个时间字符串解析为时间元组。

语法:

time.strptime(string[, format])

参数:

  • string -- 时间字符串。
  • format -- 格式化字符串。

格式化符号:

import time
datetime_format = "%Y-%m-%d %H:%M:%S"
datetime_str = "2024-08-07 15:23:10"
struct_datetime  = time.strptime(datetime_str, datetime_format)
print(struct_datetime)

# 输出:
time.struct_time(tm_year=2024, tm_mon=8, tm_mday=7, tm_hour=15, tm_min=23, tm_sec=10, tm_wday=2, tm_yday=220, tm_isdst=-1)

strptime() 方法将日期和时间的字符串表示形式解析时间元组,为我们在 Python 中操作时间提供了方便。在使用该方法时需要注意输入的字符串和格式描述符是否匹配,否则会抛出异常。

Tags:

最近发表
标签列表