全面兼容的javascript时间格式化函数(比较实用)

  全面兼容的javascript时间格式化函数,实用总结!

  

复制代码 代码如下:

  <!DOCTYPE html>

  <html>

  <head>

  <meta charset="utf-8" />

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  <title>js日期格式化</title>

  <script language="javascript" type="text/javascript">

  /*

  * 时间格式化

  * strDateTime:需要格式化的字符串时间

  * intType:格式化类型

  */

  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 != "") {

  //获取日期和时间数组

  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(":");

  }

  //处理数据

  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: //格式: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: //格式: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: //格式: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: //格式: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: //格式:yyyy-MM-dd HH: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: //格式: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: //格式: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: //格式:yyyy/MM/dd HH: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: //格式: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: //格式: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: //格式:yyyy年MM月dd hh时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;

  }

  }

  }

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

  //调用

  document.writeln(formatDateTime("2014/04/16 22:34:45", 11));

  </script>

  </body>

  </html>