常见的转换方式有:
一、toString() —— 把 Date 对象转换为字符串

var str = new Date().toString();
console.log(str);
 //output:
//Mon Oct 12 2015 11:13:22 GMT+0800

二、toTimeString() —— 把 Date 对象的时间部分转换为字符串

var str = new Date().toTimeString();
console.log(str);
 //output:
//11:16:31 GMT+0800

三、toDateString() —— 把 Date 对象的日期部分转换为字符串

var str = new Date().toDateString();
 console.log(str);
 //output:
//Mon Oct 12 2015

显而易见,以上三种方式的转换结果都未能达到我们的期望,需要进一步处理才能才能将Date对象转换为便于显示或与后台交互的时间字符串,如下:

  //定义将Date对象转换为字符串函数
  function timeToString(timeObj){
      var str = "";
      var year = timeObj.getFullYear();
      var month = timeObj.getMonth();
      var date = timeObj.getDate();
      var time = timeObj.toTimeString().split(" ")[0];
      var rex = new RegExp(/:/g);
      str = year+"-"+month+"-"+date+" "+time.replace(rex,"-");
     console.log("------当前日期:"+str);
     return str;
 }
 
 //定义通过时间戳转换为字符串函数
 function timeToObj(mstime){
     var d = new Date();
     d.setTime(mstime);
     timeToString(d);
}


  //定义将Date对象转换为字符串函数
 var d = new Date();
 timeToString(d);
 //output:
 //------当前日期:2015-9-12 11-43-28

 //定义通过时间戳转换为字符串函数
 timeToObj(1444617383284);
 //output:
 //------当前日期:2015-9-12 10-36-23
var formatDateTime = function (date) {      
       var y = date.getFullYear(); 
            var m = date.getMonth() + 1;  
                m = m < 10 ? ('0' + m) : m;  
            var d = date.getDate();  
                d = d < 10 ? ('0' + d) : d;  
            var h = date.getHours();  
                h=h < 10 ? ('0' + h) : h;  
            var minute = date.getMinutes();  
                minute = minute < 10 ? ('0' + minute) : minute;  
            var second=date.getSeconds();  
                second=second < 10 ? ('0' + second) : second;  
            return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second; 
  }
   //------当前日期:2015-9-12 10:36:23
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐