如何在JavaScript中更改日期格式

jun*_*idp 32 javascript datetime

可能重复:
在javascript中格式化日期

我有这个:

HTML

Start Date:  <input type="date" id="startDate" name="startDate" ></p>
Run Code Online (Sandbox Code Playgroud)

JavaScript的

var  mydate = new Date(form.startDate.value);
Run Code Online (Sandbox Code Playgroud)

之后,mydate成为了

"05/05/2010"
Run Code Online (Sandbox Code Playgroud)

现在,我想将此格式更改为

May 2010
Run Code Online (Sandbox Code Playgroud)

有没有办法在JavaScript中执行此操作?

Mik*_*sen 41

你当然可以自己格式化日期..

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();
Run Code Online (Sandbox Code Playgroud)

您还可以使用外部库,例如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>
Run Code Online (Sandbox Code Playgroud)


pim*_*vdb 13

使用Datejs库,这可以很简单:

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

  • @pceccon 为未来的读者回答一个老问题,但格式应该是(“yyyy-MM-dd”)。该库区分大小写,因为您需要区分分钟/月和 12/24 小时格式。 (2认同)

Nea*_*eal 5

var month = mydate.getMonth(); // month (in integer 0-11)
var year = mydate.getFullYear(); // year
Run Code Online (Sandbox Code Playgroud)

那么你需要的就是几个月的数组:

var months = ['Jan', 'Feb', 'Mar', ...];
Run Code Online (Sandbox Code Playgroud)

然后展示它:

alert(months[month] + "  " + year);
Run Code Online (Sandbox Code Playgroud)