my datepicker formate date = july-21-2014 11:00 AM
我想将datepicker转换为时间戳格式,如2014-07-21T11:00:00。在javascript。
为此我写了像
var now = new Date(date);
var year = now.getFullYear();
var month = now.getMonth()+1;
var day = now.getDate();
var hour = now.getHours();
var minute = now.getMinutes();
var second = now.getSeconds();
var convertedDate = year+'-'+month+'-'+day+'T'+hour+':'+minute+':'+second;
它在chrome和firefox中运行良好,但它在Internet探索中失败了。
我的日期值如NaN-NaN-NaNTNaN:NaN:NaN。
请帮忙。如何解决这个问题?
答案 0 :(得分:0)
function changeDateFormat(date){
/*split date into three parts */
var dateParts = date.split(" ");
if (dateParts.length != 3) {
return false; }
/*split Time into three parts*/
var time = dateParts[1].split(":");
var second = 00;
/*split minutes and (AM or PM) into two parts*/
var checkAM = dateParts[1];
/*if time is PM then adding 12hrs for to get 24hrs format*/
if((checkAM[1] == "pm") ||(checkAM[1] == "PM") ){
time[0] = Number(time[0])+Number(12);
}
var months = ['January', 'February', 'March', 'April', 'May', 'June',
'July', 'August', 'September', 'October', 'November', 'December'];
var date = dateParts[0].split("-");
var splitMonth = date[0];
var month;
for(month=0; month<months.length ; month++){
if(months[month] == splitMonth){
var monthDigit1 = Math.floor((month+1) / 10);
var monthDigit2 = (month+1) % 10;
return date[2] + '-' + monthDigit1 + '' + monthDigit2+ '-' + date[1] + 'T' + time[0] + ':' + time[1] + ':'+ second;
}
}
}