The fully compatible javascript time formatting function of is more practical

  • 2020-03-30 02:58:01
  • OfStack

Fully compatible javascript time formatting function, practical summary!
 
<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8" /> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>js Date formatting </title> 
<script language="javascript" type="text/javascript"> 
 
function formatDateTime(strDateTime, intType) { 
var years, month, days, hours, minutes, seconds; 
var newDate, arrDate = new Array(), arrTime = new Array(); 


try { 
if (strDateTime != undefined && strDateTime != null && strDateTime != "") { 
//Gets an array of dates and times
if (strDateTime.indexOf("-") != -1) { 
var item = strDateTime.split(" "); 
arrDate = item[0].toString().split("-"); 
arrTime = item[1].toString().split(":"); 
} else if (strDateTime.indexOf("/") != -1) { 
var item = strDateTime.split(" "); 
arrDate = item[0].toString().split("/"); 
arrTime = item[1].toString().split(":"); 
} 


//Process the data
if (arrDate != undefined && arrTime != undefined 
&& arrDate.length == 3 && arrTime.length == 3) { 
newDate = new Date( 
parseInt(arrDate[0]), 
parseInt(arrDate[1]), 
parseInt(arrDate[2]), 
parseInt(arrTime[0]), 
parseInt(arrTime[1]), 
parseInt(arrTime[2]) 
); 


switch (Number(intType)) { 
case 1: //Format: yyyy - MM - dd
years = newDate.getFullYear(); 


month = newDate.getMonth(); 
if (Number(month) < 10) month = "0" + month; 


days = newDate.getDate(); 
if (Number(days) < 10) days = "0" + days; 


newDate = years + "-" + month + "-" + days; 
break; 
case 2: //Format: MM - dd HH: MM
month = newDate.getMonth(); 
if (Number(month) < 10) month = "0" + month; 


days = newDate.getDate(); 
if (Number(days) < 10) days = "0" + days; 


hours = newDate.getHours(); 
if (Number(hours) < 10) hours = "0" + hours; 


minutes = newDate.getMinutes(); 
if (Number(minutes) < 10) minutes = "0" + minutes; 


newDate = month + "-" + days + 
" " + hours + ":" + minutes; 
break; 
case 3: //Format: HH: mm: ss
hours = newDate.getHours(); 
if (Number(hours) < 10) hours = "0" + hours; 


minutes = newDate.getMinutes(); 
if (Number(minutes) < 10) minutes = "0" + minutes; 


seconds = newDate.getSeconds(); 
if (Number(seconds) < 10) seconds = "0" + seconds; 


newDate = hours + ":" + minutes + ":" + seconds; 
break; 
case 4: //Format: HH: mm
hours = newDate.getHours(); 
if (Number(hours) < 10) hours = "0" + hours; 


minutes = newDate.getMinutes(); 
if (Number(minutes) < 10) minutes = "0" + minutes; 


newDate = hours + ":" + minutes; 
break; 
case 5: //Format: yyyy - MM - ddHH:mm 
years = newDate.getFullYear(); 


month = newDate.getMonth(); 
if (Number(month) < 10) month = "0" + month; 


days = newDate.getDate(); 
if (Number(days) < 10) days = "0" + days; 


hours = newDate.getHours(); 
if (Number(hours) < 10) hours = "0" + hours; 


minutes = newDate.getMinutes(); 
if (Number(minutes) < 10) minutes = "0" + minutes; 


newDate = years + "-" + month + "-" + days + 
" " + hours + ":" + minutes; 
break; 
case 6: //Format: yyyy/MM/dd
years = newDate.getFullYear(); 


month = newDate.getMonth(); 
if (Number(month) < 10) month = "0" + month; 


days = newDate.getDate(); 
if (Number(days) < 10) days = "0" + days; 


newDate = years + "/" + month + "/" + days; 
break; 
case 7: //Format: MM/dd HH: MM
month = newDate.getMonth(); 
if (Number(month) < 10) month = "0" + month; 


days = newDate.getDate(); 
if (Number(days) < 10) days = "0" + days; 


hours = newDate.getHours(); 
if (Number(hours) < 10) hours = "0" + hours; 


minutes = newDate.getMinutes(); 
if (Number(minutes) < 10) minutes = "0" + minutes; 


newDate = month + "/" + days + 
" " + hours + ":" + minutes; 
break; 
case 8: //Format: yyyy/MM/ddHH:mm 
years = newDate.getFullYear(); 


month = newDate.getMonth(); 
if (Number(month) < 10) month = "0" + month; 


days = newDate.getDate(); 
if (Number(days) < 10) days = "0" + days; 


hours = newDate.getHours(); 
if (Number(hours) < 10) hours = "0" + hours; 


minutes = newDate.getMinutes(); 
if (Number(minutes) < 10) minutes = "0" + minutes; 


newDate = years + "/" + month + "/" + days + 
" " + hours + ":" + minutes; 
break; 
case 9: //Format: yy - MM - dd
years = newDate.getFullYear(); 
years = years.toString().substr(2, 2); 


month = newDate.getMonth(); 
if (Number(month) < 10) month = "0" + month; 


days = newDate.getDate(); 
if (Number(days) < 10) days = "0" + days; 


newDate = years + "-" + month + "-" + days; 
break; 
case 10: //Format: yy/MM/dd
years = newDate.getFullYear(); 
years = years.toString().substr(2, 2); 


month = newDate.getMonth(); 
if (Number(month) < 10) month = "0" + month; 


days = newDate.getDate(); 
if (Number(days) < 10) days = "0" + days; 


newDate = years + "/" + month + "/" + days; 
break; 
case 11: //Format :yyyy year MM month dd hh MM minutes
years = newDate.getFullYear(); 


month = newDate.getMonth(); 
if (Number(month) < 10) month = "0" + month; 


days = newDate.getDate(); 
if (Number(days) < 10) days = "0" + days; 


hours = newDate.getHours(); 
if (Number(hours) < 10) hours = "0" + hours; 


minutes = newDate.getMinutes(); 
if (Number(minutes) < 10) minutes = "0" + minutes; 


newDate = years + " years " + month + " month " + days + 
" " + hours + " when " + minutes + " points "; 
break; 
} 
} 
} 
} catch (e) { 
newDate = new Date(); 


return newDate.getFullYear() + "-" + 
(newDate.getMonth() + 1) + "-" + 
newDate.getDate() + " " + 
newDate.getHours() + ":" + 
newDate.getMinutes() + ":" + 
newDate.getSeconds(); 
} 


return newDate; 
} 
</script> 
</head> 
<body> 
<script language="javascript" type="text/javascript"> 
// call  
document.writeln(formatDateTime("2014/04/16 22:34:45", 11)); 
</script> 
</body> 
</html> 

Related articles: