我有一个函数可以从jQuery日历中获取日期,然后在年 - 月 - 日中对其进行格式化。
我获得日历的日期是03/04/2013 for dateString然后我希望它的格式为2013-03-04。但是我获得start_date的日期是2013-21-04。奇怪,因为它没关系,我想。
function makeUpDates() {
// concantenate values to date_start and date_end hidden inputs
var dateString = document.getElementById('date').value, date = new Date(dateString);
document.getElementById('date_start').value = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + ("0" + date.getDate()).slice(-2);
var numDays = document.getElementById('slider').value;
date.setDate(date.getDate() + parseInt(numDays));
var dateEnd = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + ("0" + date.getDate()).slice(-2);
document.getElementById('date_end').value = dateEnd;
}
答案 0 :(得分:1)
您可以像这样转换日期
//will take a date in the form MM/DD/YYYY and return YYYY-MM-DD
function convertDate(dateString){
var dateparts = dateString.split("/");
var newDate = dateparts[2]+"-"+dateparts[0]+"-"+dateparts[1]
return newDate;
}
另外,对于更一般的日期处理,您可以查看this answer中提到的关于此主题的更一般性问题的moment.js
答案 1 :(得分:1)
start_date是2013-21-04
可能你忘记了字符串连接中date.getMonth()+1
周围的括号,产生21
而不是3
。它似乎已在您发布的片段中修复。