Skip to content

Instantly share code, notes, and snippets.

@JoshyFrancis
Last active November 12, 2022 10:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JoshyFrancis/37b5eaa0a3b5b852d12e864a6b812259 to your computer and use it in GitHub Desktop.
Save JoshyFrancis/37b5eaa0a3b5b852d12e864a6b812259 to your computer and use it in GitHub Desktop.
Simple and quick Javascript parse date and format date functions
function getInt(a){
a=parseInt(a);
a=isNaN(a)?0:a;
return a;
}
function getFloat(a){
a=parseFloat(a);
a=isNaN(a)?0:a;
return a;
}
//parse_date('2015-04-29 10:29:08','YYYY-MM-DD HH:mm:ss');
function parse_date(str_date,format){
//var date = '2015-04-29 10:29:08';//'YYYY-MM-DD HH:mm:ss'
//var d=new Date(Date.parse(date.replace(/-/g, '/')));
var ms=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
var d=new Date();
str_date=str_date.replace(/ /g,'-');
str_date=str_date.replace(/:/g,'-');
str_date=str_date.replace(/\//g,'-');
format=format.replace(/ /g,'-');
format=format.replace(/:/g,'-');
format=format.replace(/\//g,'-');
var a_date=str_date.split('-');
var a_format=format.split('-');
for(var i=0;i<a_date.length;i++){
switch(a_format[i]){
case 'YYYY':
if(a_date[i].length===4){
d.setYear(getInt(a_date[i]));
}
break;
case 'MMM':
if(a_date[i].length===3){
d.setMonth(ms.indexOf(a_date[i]));
}
break;
case 'MM':
if(a_date[i].length===2){
d.setMonth(getInt(a_date[i])-1);
}
break;
case 'DD':case 'dd':
if(a_date[i].length===2){
d.setDate(getInt(a_date[i]));
}
break;
case 'HH':case 'hh':
if(a_date[i].length===2){
d.setHours(getInt(a_date[i]));
}
break;
case 'mm':
if(a_date[i].length===2){
d.setMinutes(getInt(a_date[i]));
}
break;
case 'SS':case 'ss':
if(a_date[i].length===2){
d.setSeconds(getInt(a_date[i]));
}
break;
}
}
if(a_format.indexOf('AM')>-1 && d.getHours()>=12){
d.setHours(d.getHours()-12);
}
if(a_format.indexOf('PM')>-1 && (d.getHours()/12)<1){
d.setHours(d.getHours()+12);
}
return d;
}
//format_date(new Date(),'DD-MMM-YYYY hh:mm A');
function format_date(date,format){
//'DD-MMM-YYYY HH:mm';
var Y=date.getFullYear(),m=date.getMonth()+1,d=date.getDate();
var H=date.getHours(),i=date.getMinutes(),S=date.getSeconds();
var ms=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
var s=format;
var h = H % 12;
h = h>0 ? h : 12;
s=s.replace('YYYY',Y);
s=s.replace('MMM',ms[m-1]);
s=s.replace('MM','00'.substr(0,2-(m+'').length)+ m);
s=s.replace('DD','00'.substr(0,2-(d+'').length)+ d);
s=s.replace('HH','00'.substr(0,2-(H+'').length)+ H);
s=s.replace('hh','00'.substr(0,2-(h+'').length)+ h);
s=s.replace('mm','00'.substr(0,2-(i+'').length)+ i);
s=s.replace('SS','00'.substr(0,2-(S+'').length)+ S);
s=s.replace('ss','00'.substr(0,2-(S+'').length)+ S);
s=s.replace('A',H >= 12 ? 'PM' : 'AM');
return s;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment