js時間格式轉換

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

function date(){java

    var date = new Date();json

    alert(date);spa

}教程

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

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

 

一、獲得new Date()型中各個時間級別(年、月、日、時、分、秒)的數:string

function date(){io

     var date = new Date();function

 

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

 

 

二、實際應用中常常會遇到加減時間的狀況,如:昨天這個時間到今天這個時間間系統共登錄了幾回之類的。所以在咱們取得當前時間以後就要減去一天或幾天。

在此咱們現將獲得的時間轉換下:

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的方法轉換就能夠了。

 

getTime()方法教程:http://www.w3school.com.cn/js/jsref_getTime.asp

相關文章
相關標籤/搜索