如何在JavaScript中更改日期格式

49

可能是重复问题:
JavaScript中的日期格式化

我有这个:

HTML

Start Date:  <input type="date" id="startDate" name="startDate" ></p>

JavaScript

var  mydate = new Date(form.startDate.value);

之后,我的日期变成了

"05/05/2010"

现在,我想把这种格式更改为

May 2010

有没有一种用JavaScript实现的方法?


2
https://dev59.com/z3NA5IYBdhLWcg3wL6yx - hacksteak25
这是我大约20分钟写的代码。随意使用:https://jsfiddle.net/vj5doerg/ - user2628521
5个回答

49

您可以自行格式化日期。

var mydate = new Date(form.startDate.value);
var month = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"][mydate.getMonth()];
var str = month + ' ' + mydate.getFullYear();

你也可以使用外部库,例如DateJS

这里是一个 DateJS 示例:

<script src="http://www.datejs.com/build/date.js" type="text/javascript"></script>
<script>
   var mydate = new Date(form.startDate.value);
   var str = mydate.toString("MMMM yyyy");
   window.alert(str);
</script>

14

使用 Datejs 库,可以轻松实现如下功能:

Date.parse("05/05/2010").toString("MMMM yyyy");
//          parse date             convert to
//                                 string with
//                                 custom format

我尝试了这个:var start_date = Date.parse(startDate).toString("YYYY-MM-DD")(其中startDate是11/30/2015),输出结果为YYYY-11-DD。 - pceccon
2
@pceccon 给未来的读者回答一个旧问题,但格式应该是(“yyyy-MM-dd”)。由于需要区分分钟/月和12/24小时格式,所以库是大小写敏感的。 - user2062025
1
有没有更现代的类似datejs的库可以推荐?下载链接已经过时了,是2007年的... :) - Drewdavid
回复晚了,但我建议使用date-fns或moment.js。 - FreeWorlder

7
var month = mydate.getMonth(); // month (in integer 0-11)
var year = mydate.getFullYear(); // year

那么你只需要拥有一个月份的数组:
var months = ['Jan', 'Feb', 'Mar', ...];

然后展示它:

alert(months[month] + "  " + year);

4
尝试 -
var monthNames = [ "January", "February", "March", "April", "May", "June",
    "July", "August", "September", "October", "November", "December" ];

var newDate = new Date(form.startDate.value);
var formattedDate = monthNames[newDate.getMonth()] + ' ' + newDate.getFullYear();

2

7
w3fools是一个旨在揭露和纠正有关Web开发的错误信息和误解的网站。它的目标是为新手和专业人士提供准确、可靠的信息,以帮助他们更好地理解Web技术和工具。 - Marc B
@MarcB,w3fools对于w3cschools.com上关于JavaScript日期的参考文献有什么问题吗?请具体说明。 - Birey
1
只是对在这里看到它们链接的一般反应。仅仅因为它们在谷歌搜索结果中排名第一,并不意味着它们是最好的链接。对于JS来说,最好是链接到等效的MDN条目:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date 有更好的文档和较少的视觉干扰。 - Marc B
嘿,我经常使用W3CHOOLS作为参考,主要是因为它总是在谷歌上首先弹出的东西。现在我得去读一下这个了... - Mike Christensen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接