您好我正在使用以下代码格式化我的日期字符串
var monthNames = ["Jan", "Feb", "Mar", "Apr",
"May", "Jun", "Jul", "Aug",
"Sep", "Oct", "Nov", "Dec"];
var AddedDate = new Date('04/11/2016 11:36:15');
alert(AddedDate.getDate() + ' ' + monthNames[AddedDate.getMonth()] + '\'' + AddedDate.getYear());
此处输入日期格式为DD / MM / YYYY hh:mm:ss
但是当我getDate()
时,它给出的日期为11,而getmonth()
给出了4月。我该如何解决这个问题。请帮忙。
还有一种方法可以让2016年成为16岁。
我得到的当前输出是11 Apr'116
预期输出为04 Nov'16
答案 0 :(得分:2)
如果你想要dd / mm / year格式的日期。我取消了时间部分并将字符串拆分成数组并创建了日期,月份和年份的日期
为了获得短暂的一年,我采用了substr(2,2)
检查代码段
var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
var dateString = '04/11/2016 11:36:15';
dateString = dateString.split(' ')[0];
var dateParts = dateString.split("/");
var date = dateParts[2];
var month = dateParts[1] - 1;
var dateObject = new Date(date, month, dateParts[0]);
var yearShort = dateObject.getFullYear().toString()
alert(dateObject.getDate() + ' ' + monthNames[dateObject.getMonth()] + '\'' + yearShort);

希望有所帮助
答案 1 :(得分:1)
Javascript中的默认日期字符串格式为mm/dd/yyyy
。因此,在您的情况下,它被视为11 April 2016
。对于月份本身,javascript函数getMonth()
将返回基于0的索引中的月份数。所以April == 3
。
要获得年份2016
,您应该使用getFullYear()
代替
如果您想强制javascript获取输入dd/mm/yyyy
您必须自己动手,如下所示:
var myDate = "04/11/2016".split("/");
var AddedDate = new Date(myDate[2], myDate[1] - 1, myDate[0]);
答案 2 :(得分:0)
刚做new Date('11/04/2016 11:36:15');
格式为月/日/年等。
答案 3 :(得分:0)
您将错误的日期格式传递给new Date()
。有效日期字符串格式为here。
ISO日期:“2015-03-25”(国际标准)
短日期:“2015年3月25日”
长日期:“2015年3月25日”或“2015年3月25日”
完整日期:“2015年3月25日星期三”