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

求助:如何使用JavaScript数组实现日期格式转换

日期转换解决方案

没问题,我来帮你搞定这个日期格式转换的需求!我们可以利用你提供的两个数组,结合JavaScript的Date对象轻松实现转换,步骤非常清晰:

实现思路

  1. 解析日期字符串:把输入的日期字符串转换成Date对象,这样就能便捷提取星期、月份、日期和年份这些核心信息。
  2. 匹配完整名称:
    • 用Date.getDay()获取星期索引(0对应周日,6对应周六),直接匹配weekday数组里的完整星期名。
    • 用Date.getMonth()获取月份索引(0对应一月,11对应十二月),匹配months数组里的完整月份名。
  3. 格式化输出:把提取到的信息拼接成目标格式,同时将数组里的小写名称转为首字母大写的格式。

完整代码示例

var months = ['january','february','march','april','may','june','july','august','september','october','november','december'];
var weekday = ['sunday','monday','tuesday','wednesday','thursday','friday','saturday'];

function formatDate(dateStr) {
  // 将输入字符串转换为Date对象
  const date = new Date(dateStr);
  
  // 获取完整星期名并首字母大写
  const fullWeekday = weekday[date.getDay()]
    .charAt(0)
    .toUpperCase() + weekday[date.getDay()].slice(1);
  
  // 获取日期数字
  const day = date.getDate();
  
  // 获取完整月份名并首字母大写
  const fullMonth = months[date.getMonth()]
    .charAt(0)
    .toUpperCase() + months[date.getMonth()].slice(1);
  
  // 获取年份
  const year = date.getFullYear();
  
  // 拼接成目标格式并返回
  return `${fullWeekday} ${day} ${fullMonth} ${year}`;
}

// 测试示例输入
const inputDate = "Mon Oct 28 2018 14:41:20 GMT+0100";
console.log(formatDate(inputDate)); // 输出: Monday 28 October 2018

代码说明

  • date.getDay()返回的索引和weekday数组的顺序完全对应,直接通过索引就能拿到对应的完整星期名。
  • date.getMonth()返回的索引也和months数组的顺序一致,同样直接索引取值即可。
  • charAt(0).toUpperCase() + slice(1)是个简单的首字母大写技巧,能快速把数组里的小写字符串转换成符合要求的格式。
  • 你输入的日期字符串是标准的ECMAScript日期格式,Date对象可以直接正确解析,不需要额外处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:53:34