Python 中 strftime 与 strptime 的综合比较

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

strftime() 方法

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

允许自定义特殊的格式,将 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 中操作时间提供了方便。在使用该方法时需要注意输入的字符串和格式描述符是否匹配,否则会抛出异常。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值