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

在JavaScript中如何将JSON格式日期转换为数字类型月份

JavaScript提取ISO日期字符串中数字月份的实现方案

你拿到的是标准ISO 8601格式的日期字符串,有两种常用实现方式,均可直接在Appscript环境运行:

方法1:字符串截取(优先推荐)

ISO格式固定为YYYY-MM-ddT...结构,月份字符位置固定,直接截取后转数字即可,无需处理时区、日期解析兼容性问题,性能最高:

function getMonthFromISO(dateStr) {
  // 截取索引5-7位的月份字符(左闭右开)
  const monthPart = dateStr.slice(5, 7)
  // 转数字自动去除前置0,比如"01"转为1
  return Number(monthPart)
}

测试效果:

  • 输入getMonthFromISO("2020-01-15T22:00:00.000Z") 返回 1
  • 输入getMonthFromISO("2020-09-15T22:00:00.000Z") 返回 9

方法2:Date对象解析

如果后续还要处理其他日期逻辑,可以用内置Date对象解析:

function getMonthFromISOByDate(dateStr) {
  const date = new Date(dateStr)
  // getMonth()返回0-11的月份索引,需要+1得到自然月份
  return date.getMonth() + 1
}

注意:如果你的日期字符串带有时区偏移而非UTC时间(结尾不带Z),需要确认时区适配规则,避免出现月份偏移。

批量处理返回数据示例

你可以直接用上述方法批量处理接口返回的JSON对象:

// 接口返回的原始数据
const rawData = {
  "Employee Name":"Ntombi  Hlatshwayo",
  "Issueing Manager":"Nomsa Nxumalo",
  "Type Of A Warning":"Insubordination Final",
  "Date":"2020-09-15T22:00:00.000Z",
  "Current Date":"2021-11-02T12:24:32.428Z",
  "Status":413
}

// 转换日期字段为数字月份
const processedData = {
  ...rawData,
  Date: getMonthFromISO(rawData.Date), // 转换结果为9
  "Current Date": getMonthFromISO(rawData["Current Date"]) // 转换结果为11
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 15:36:04