您好,我正在使用以下代码来格式化我的日期字符串
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
预期输出为 2016 年 11 月 4 日
最佳答案
如果你想要 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);
希望对你有帮助
关于JavaScript 日期与月份冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40780474/