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

如何用JavaScript将月份年份日期转为2023-01-15T00:00:00.0格式?

解决方案

Python 实现

核心思路是利用datetime模块解析输入字符串,固定日份为15后再格式化输出:

from datetime import datetime

def convert_to_target_date(input_str):
    # 解析英文全称月份+年份的输入格式
    parsed_date = datetime.strptime(input_str, "%B %Y")
    # 将日期固定为当月15日
    target_date = parsed_date.replace(day=15)
    # 格式化并补充末尾的.0
    return target_date.strftime("%Y-%m-%dT%H:%M:%S") + ".0"

# 测试示例
print(convert_to_target_date("January 2023"))  # 输出: 2023-01-15T00:00:00.0
print(convert_to_target_date("February 2023")) # 输出: 2023-02-15T00:00:00.0

JavaScript 实现

通过拆分输入字符串构建日期对象,固定日份后拼接出目标格式:

function convertToTargetDate(inputStr) {
    const [month, year] = inputStr.split(' ');
    // 获取对应月份的数字(Date对象月份从0开始计数)
    const monthIndex = new Date(`${month} 1, ${year}`).getMonth();
    // 创建当月15日0点的日期对象
    const targetDate = new Date(year, monthIndex, 15, 0, 0, 0);
    
    // 格式化各部分为两位数字
    const formattedYear = targetDate.getFullYear();
    const formattedMonth = String(targetDate.getMonth() + 1).padStart(2, '0');
    const formattedDay = String(targetDate.getDate()).padStart(2, '0');
    
    // 拼接成目标格式字符串
    return `${formattedYear}-${formattedMonth}-${formattedDay}T00:00:00.0`;
}

// 测试示例
console.log(convertToTargetDate("January 2023"));  // 输出: 2023-01-15T00:00:00.0
console.log(convertToTargetDate("February 2023")); // 输出: 2023-02-15T00:00:00.0

注意事项

  • 两种方案均默认输入为英文全称月份+四位年份的格式,若输入存在缩写或其他格式需调整解析规则
  • 固定将日份设为15,时分秒强制为00:00:00,末尾补充.0以完全匹配目标格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 04:00:52