javascript中浏览器的日期解析问题

时间:2014-07-15 06:40:36

标签: javascript jquery datepicker

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。

请帮忙。如何解决这个问题?

1 个答案:

答案 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;
        }
    }

}

相关问题