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

JavaScript如何从字符串中提取两个日期值并分别存入变量?

提取字符串中的两个日期并分别存储

嘿,这事儿好办!要从类似"March 2 2017 - Aug 3 2019"的字符串里提取两个日期并存入不同变量,我给你两种实用的Python实现方案,按需选择就行:

方法一:用Python标准库datetime(无需额外安装)

这种方法适合你明确知道日期格式的场景,步骤很清晰:

  • 先按字符串里的分隔符" - "把原字符串拆成两个独立的日期子串
  • 用datetime.strptime()方法指定对应的格式解析每个子串
from datetime import datetime

# 你的目标字符串
date_str = "March 2 2017 - Aug 3 2019"
# 分割得到两个日期片段
date_segment1, date_segment2 = date_str.split(" - ")

# 解析第一个日期(完整月份名格式)
first_date = datetime.strptime(date_segment1, "%B %d %Y").date()
# 解析第二个日期(月份缩写格式)
second_date = datetime.strptime(date_segment2, "%b %d %Y").date()

# 验证结果
print("第一个日期变量:", first_date)  # 输出:2017-03-02
print("第二个日期变量:", second_date) # 输出:2019-08-03

这里的格式符说明:

  • %B:匹配完整的英文月份名(比如March)
  • %b:匹配英文月份缩写(比如Aug)
  • %d:匹配两位或一位的日期数字
  • %Y:匹配四位数的年份

方法二:用dateutil.parser(更灵活,自动识别格式)

如果你的日期格式不固定(比如有时是全称月份、有时是缩写,甚至日期顺序变化),这个方法会更省心,它能自动识别绝大多数常见日期格式。不过需要先安装依赖:

pip install python-dateutil

实现代码:

from dateutil import parser

date_str = "March 2 2017 - Aug 3 2019"
date_segment1, date_segment2 = date_str.split(" - ")

# 自动解析日期,不用手动指定格式
first_date = parser.parse(date_segment1).date()
second_date = parser.parse(date_segment2).date()

print("第一个日期变量:", first_date)
print("第二个日期变量:", second_date)

这种方法不用纠结格式细节,容错性更强,适合处理格式多变的字符串。

小补充

如果你的字符串分隔符不是固定的" - "(比如可能有多个空格、其他符号),也可以用正则表达式提取日期,比如用re.findall()匹配[A-Za-z]+ \d+ \d{4}这样的模式,把所有符合日期格式的子串捞出来,再分配给变量就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 06:53:50