0

my datepicker formate date = july-21-2014 11:00 AM

i want to convert datepicker to timestamp formate like 2014-07-21T11:00:00. in javascript.

for this purpose i have written like

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; 

it's working fine in chrome and firefox but it's failed in internet explore .

i am getting date value like NaN-NaN-NaNTNaN:NaN:NaN.

please help on this. how to resolve this issue?

krishna
  • 5
  • 3
  • see:: http://stackoverflow.com/questions/2182246/javascript-dates-in-ie-nan-firefox-chrome-ok – Sudhir Bastakoti Jul 15 '14 at 06:47
  • For consistent behavior with custom formats, you'll likely need to find a library that offers a "parse exact" or "parse with format" option. JavaScript only has [one specified date/time format](http://ecma-international.org/ecma-262/5.1/#sec-15.9.1.15). All others are up to the engine to decide whether or not to support. – Jonathan Lonowski Jul 15 '14 at 06:47

1 Answers1

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

}

HariKrishna
  • 101
  • 3
  • 13