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

如何去除JavaScript中toDateString()返回值开头的星期名称?

解决方法:移除toDateString结果中的开头星期名称

嘿,这个需求其实挺常见的!咱们有几种简单又可靠的方式来实现,我给你一一拆解:

方法1:字符串分割拼接(最直观)

toDateString()返回的格式通常是"星期缩写 月 日 年"(比如"Wed Oct 11 2023"),我们可以直接把字符串按空格拆分,去掉第一个元素(星期)后再拼回去:

var d = new Date();
// 拆分字符串 → 去掉星期部分 → 重新拼接
var dateWithoutWeekday = d.toDateString().split(' ').slice(1).join(' ');
document.getElementById("demo").innerHTML = dateWithoutWeekday;

原理很简单:

  • split(' ')把字符串拆成数组:["Wed", "Oct", "11", "2023"]
  • slice(1)从索引1开始截取数组剩下的部分:["Oct", "11", "2023"]
  • join(' ')把数组重新拼成字符串:"Oct 11 2023"

方法2:正则表达式替换

如果想更简洁,可以用正则匹配开头的星期部分并替换为空:

var d = new Date();
// 匹配开头的字母(星期缩写)加空格,替换成空
var dateWithoutWeekday = d.toDateString().replace(/^[A-Za-z]+ /, '');
document.getElementById("demo").innerHTML = dateWithoutWeekday;

正则^[A-Za-z]+ 的意思是:

  • ^匹配字符串开头
  • [A-Za-z]+匹配一个或多个大小写字母(对应星期的3个缩写字母)
  • 最后的空格匹配星期后面的分隔空格

方法3:用Intl.DateTimeFormat生成目标格式(最健壮)

如果担心不同浏览器/地区下toDateString()的格式有差异(虽然大部分情况都是星期开头,但稳妥起见),可以直接用国际化API生成你需要的格式:

var d = new Date();
// 配置格式:月份缩写、数字日期、数字年份
var formatter = new Intl.DateTimeFormat('en-US', {
  month: 'short',
  day: 'numeric',
  year: 'numeric'
});
var dateWithoutWeekday = formatter.format(d);
document.getElementById("demo").innerHTML = dateWithoutWeekday;

这种方法不需要依赖toDateString()的输出格式,直接生成"Oct 11 2023"这样的结果,兼容性和可靠性都更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 06:31:37