You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求12/25/2009中第二个'/'的索引及Python日期提取日、年方法

日期字符串处理:查找分隔符索引与提取日/年

嘿,我来帮你搞定这两个日期相关的问题,直接上实用的解法:

1. 查找字符串'12/25/2009'中第二个'/'的索引值

要定位第二个斜杠,最直接的方式是利用str.find()的第二个参数——指定查找的起始位置。先找到第一个斜杠的索引,然后从它的下一个位置开始找第二个:

date_str = '12/25/2009'
first_slash_idx = date_str.find('/')
second_slash_idx = date_str.find('/', first_slash_idx + 1)
print(second_slash_idx)  # 输出:4

如果你确定字符串里一定有两个斜杠,也可以用str.index()替代find(),效果一样;但如果找不到目标字符,index()会抛出异常,而find()会返回-1,按需选择就行。

2. 完善Python代码提取日和年

你已经用find()拿到了月份,这里提供两种靠谱的方法来补全日和年的提取:

方法一:延续你的find()思路

继续定位第二个斜杠的位置,然后通过字符串切片提取对应部分:

date = input('write todays date: ')
i = date.find('/')
month = date[:i]
# 从第一个斜杠的下一位开始找第二个斜杠
j = date.find('/', i + 1)
day = date[i+1:j]  # 截取第一个斜杠到第二个斜杠之间的内容
year = date[j+1:]  # 截取第二个斜杠之后的内容
print(f'todays month is {month}, day is {day}, year is {year}')

方法二:用split()简化代码(更推荐)

对于这种固定用/分隔的日期字符串,直接用split('/')分割成列表,再解包给变量,代码更简洁易懂:

date = input('write todays date: ')
# 分割后得到[month, day, year]的列表,直接解包
month, day, year = date.split('/')
print(f'todays month is {month}, day is {day}, year is {year}')

如果担心用户输入格式错误(比如少写斜杠),可以加个异常处理增强健壮性:

date = input('write todays date (format: MM/DD/YYYY): ')
try:
    month, day, year = date.split('/')
    print(f'todays month is {month}, day is {day}, year is {year}')
except ValueError:
    print("Oops,请输入正确的MM/DD/YYYY格式日期哦!")

内容的提问来源于stack exchange,提问作者Hasan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 17:20:19