天天看點

js中轉換Date日期格式

在javascript中直接輸出Date得到的結果是這樣的:

function date(){

    var date = new Date();

    alert(date);

}

結果是:Mon Jun 15 15:30:46 UTC+0800 2009

這可能不是我們所需要的,是以是需要轉換下的,這裡就學下我轉換的幾種方法,不妥之處請指教:

1、得到new Date()型中各個時間級别(年、月、日、時、分、秒)的數:

function date(){

     var date = new Date();

     var year = date.getFullYear();

     var month = date.getMonth()+1;    //js從0開始取 

     var date1 = date.getDate(); 

     var hour = date.getHours(); 

     var minutes = date.getMinutes(); 

     var second = date.getSeconds();

     alert(date+"  |  "+year+"年"+month+"月"+date1+"日"+hour+"時"+minutes +"分"+second+"秒" );

}

得到的結果就是:Mon Jun 15 15:44:50 UTC+0800 2009 | 2009年6月15日15時44分50秒

注意:date.getMonth()得到的月是從0開始的,date所有的get方法除了date.getFullYear()得到的是2009外,其餘的get方法得到的數若小于10,都是以單數出現,如6月,date.getMonth()+1 = 6 若要得到兩位的自己加上0就可以了,如下面的轉換方法。

以下是轉換成另兩種格式的,和上面是大同小異的:

(1)

//将date型轉換為tring 

//傳來的datetime是:Wed Mar 04 2009 11:05:05 GMT+0800格式  得到結果:2009-06-12 17:18:05

function dateToStr(datetime){ 

 var year = datetime.getFullYear();

 var month = datetime.getMonth()+1;//js從0開始取 

 var date = datetime.getDate(); 

 var hour = datetime.getHours(); 

 var minutes = datetime.getMinutes(); 

 var second = datetime.getSeconds();

 if(month<10){

  month = "0" + month;

 }

 if(date<10){

  date = "0" + date;

 }

 if(hour <10){

  hour = "0" + hour;

 }

 if(minutes <10){

  minutes = "0" + minutes;

 }

 if(second <10){

  second = "0" + second ;

 }

 var time = year+"-"+month+"-"+date+" "+hour+":"+minutes+":"+second; //2009-06-12 17:18:05

// alert(time);

 return time;

}

(2)

//将date型轉換為tring 

//傳來的datetime是:Wed Mar 04 2009 11:05:05 GMT+0800格式 得到結果:09年06月12日 17時18分

function dateToComm(datetime){    

 var year = datetime.getFullYear();

 var month = datetime.getMonth()+1;//js從0開始取 

 var date = datetime.getDate(); 

 var hour = datetime.getHours(); 

 var minutes = datetime.getMinutes(); 

 var second = datetime.getSeconds();

 if(month<10){

  month = "0" + month;

 }

 if(date<10){

  date = "0" + date;

 }

 if(hour <10){

  hour = "0" + hour;

 }

 if(minutes <10){

  minutes = "0" + minutes;

 }

 if(second <10){

  second = "0" + second ;

 }

 year = year.toString();

 year = year.substring(2);

 var time1 = year+"年"+month+"月"+date+"日";

 var time2 = hour+"時"+minutes+"分";//09年06月12日 17時18分

 var time={time1:time1,time2:time2}    //json格式

// alert(time);

 return time; 

}

2、實際應用中經常會遇到加減時間的情況,如:昨天這個時間到今天這個時間間系統共登陸了幾次之類的。是以在我們取得目前時間之後就要減去一天或幾天。

在此我們現将得到的時間轉換下:

function date(){

   var date = new Date();

   var dateNum date.getTime();

   alert(dateNum);

}

得到的是:2592000000     這個是距 1970 年 1 月 1 日之間的毫秒數。

注:getTime() 方法可傳回距 1970 年 1 月 1 日之間的毫秒數。

我們以一天為例,得到一天前的此時:

function date(){

   var date = new Date();

   var oneDate = 1

   var dateMid = date.getTime() - (oneDate * 24 * 60 * 60 * 1000)

   var dateBefore = new Date(dateMid);

   alert(dateBefore);

}

若date 為:Mon Jun 15 15:44:50 UTC+0800 2009  

則輸出:Mon Jun 14 15:44:50 UTC+0800 2009  

要轉換為Sreing型  按照上面1的方法轉換就可以了。

那如何用js格式化date日期值呢?

1.js方法傳回值:2015-03-19

  1. var formatDate = function (date) {  
  2.     var y = date.getFullYear();  
  3.     var m = date.getMonth() + 1;  
  4.     m = m < 10 ? '0' + m : m;  
  5.     var d = date.getDate();  
  6.     d = d < 10 ? ('0' + d) : d;  
  7.     return y + '-' + m + '-' + d;  
  8. };  

2.js方法傳回值:2015-03-19 12:00

  1. var formatDateTime = function (date) {  
  2.     var y = date.getFullYear();  
  3.     var m = date.getMonth() + 1;  
  4.     m = m < 10 ? ('0' + m) : m;  
  5.     var d = date.getDate();  
  6.     d = d < 10 ? ('0' + d) : d;  
  7.     var h = date.getHours();  
  8.     var minute = date.getMinutes();  
  9.     minute = minute < 10 ? ('0' + minute) : minute;  
  10.     return y + '-' + m + '-' + d+' '+h+':'+minute;  
  11. };  

    調用:formatDate(Date())   formatDate(Date())

如何将2015-03-12 12:00 轉換成标準時間()?

Thu Mar 19 2015 12:00:00 GMT+0800 (中國标準時間)      

js方法傳回值:Thu Mar 19 2015 12:00:00 GMT+0800 (中國标準時

  1. var parserDate = function (date) {  
  2.     var t = Date.parse(date);  
  3.     if (!isNaN(t)) {  
  4.         return new Date(Date.parse(date.replace(/-/g, "/")));  
  5.     } else {  
  6.         return new Date();  
  7.     }  
  8. };  

調用:parserDate("2015-03-19 12::00:00")

轉載于:https://www.cnblogs.com/dingjiaoyang/p/5354312.html

繼續閱讀