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>