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

如何从Monday_09_25格式中提取纯datetime并移除星期部分

从类似Monday_09_25的格式中提取并转换为Datetime

嘿,这个问题其实很容易解决,咱们分两步来:先把前面的星期部分剥离,再把剩下的日期字符串转成datetime对象。下面给你具体的实现方案,以Python为例(毕竟这是处理日期最常用的语言之一):

步骤1:剥离星期部分

这类字符串的结构是「星期_月份_日期」,星期和后面的日期用下划线_分隔,所以直接分割字符串取后面的部分就好:

date_str = "Monday_09_25"
# 分割后得到列表 ['Monday', '09', '25'],取索引1及之后的元素拼接
clean_date_part = "_".join(date_str.split("_")[1:])
# 结果就是干净的 '09_25'

步骤2:转换为Datetime对象

要注意,datetime模块需要完整的年-月-日信息,所以这里分两种情况处理:

情况1:使用当前年份

如果没有指定年份,直接用当前年份来补全:

from datetime import datetime
import time

current_year = time.localtime().tm_year
# 拼接年份和干净的月日字符串,按指定格式解析
datetime_obj = datetime.strptime(f"{current_year}_{clean_date_part}", "%Y_%m_%d")
print(datetime_obj)
# 示例输出:2024-09-25 00:00:00

情况2:指定自定义年份

如果需要固定某一年,直接替换掉上面的current_year就行:

target_year = 2023
datetime_obj = datetime.strptime(f"{target_year}_{clean_date_part}", "%Y_%m_%d")

更省心的一步到位写法

其实还有更简洁的方式,直接让strptime匹配整个字符串,然后替换年份就好:

from datetime import datetime

date_str = "Monday_09_25"
# %A 用来匹配完整的英文星期名称(比如Monday)
datetime_obj = datetime.strptime(date_str, "%A_%m_%d").replace(year=2024)

小贴士:这个方法依赖系统的本地化设置,如果你的星期是其他语言(比如中文「星期一」),得先调整本地化配置,否则会解析失败。但如果是英文星期名,这招绝对省心。

额外:JavaScript实现示例

如果用JS处理,思路类似:

const dateStr = "Monday_09_25";
const [_, month, day] = dateStr.split("_");
const currentYear = new Date().getFullYear();
// 注意JS的月份是从0开始的,所以要减1
const dateObj = new Date(currentYear, parseInt(month) - 1, parseInt(day));

内容的提问来源于stack exchange,提问作者R.Williams

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:54:06