2013-07-06 173 views
0

我有一個在JavaScript數組長的麻煩。它來自getTime(),但現在它不是Date對象。打印日期數

tab[0][1]=1373139837555;// not date object - just int 

現在我想打印它像這樣

小時:分鐘:秒|日/月/年

是否有打印日期的功能? 我知道getHours(),getMinutes(),getTime()函數,但它們只適用於Date對象。我可以把這個很長的數字變成日期嗎?我怎樣才能打印日期呢?

編輯

這是我的代碼使用JavaScript和JQ

$.date = function (dateObject) { 
    var d = new Date(dateObject); 
    var hour = d.getHours(); 
    var minutes = d.getMinutes(); 
    var seconds = d.getSeconds(); 

    var day = d.getDate(); 
    var month = d.getMonth(); 
    var year = d.getFullYear(); 

    var date = hour+":"+minutes+":"+seconds+"||"+day+"/"+month+"/"+year; 

    return date; 
}; 

tab[0][1]=1373139837555; 
console.log('Number '+$.date(tab[0][1])); 

,並返回號碼楠:楠:爲NaN || NaN/NaN/NaN :( 當我切換選項卡[0] [1]爲NaN時,它返回false - 因此它是一個數字

+2

[轉換Unix時間戳到時間中可能重複Javascript](http://stackoverflow.com/questions/847185/convert-a-unix-timestamp-to-time-in-javascript) – JJJ

+0

@Juhana:雖然我投票結束,但它不是一個確切的副本:Unix時間戳以秒爲單位,需要乘以1000 - 來自'getTime'的時間戳不爲 – Bergi

+0

適合我。 http://jsfiddle.net/46zKR/(除了一個月關閉)。你真的*確定變量包含數字嗎?如果你做'console.log(tab [0] [1])'你會得到時間戳? – JJJ

回答

2

您應該能夠使用您的長號碼創建一個新的日期對象如果我沒有記錯的話,這是毫秒,因爲1/1/1970)使用功能的數

tab[0][1]=1373139837555; 

var date = new Date(tab[0][1]); 

然後,您可以得到一天,一個月,等你提到:

var printDate = date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds() + 
       ' | ' + 
       date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear(); 
1

要將其轉換爲日期,只需嘗試此操作即可¨

var myDate = new Date(tab[0][1]); 

一旦被轉換,使用調用getHours(),getMinutes(),的getTime()等

+0

所以我應該只寫標籤[0] [1] =新日期(選項卡[0] [1])? – MateuszC

2

將其轉換爲一個日期

new Date(1373139837555) 
+2

[編號](http://es5.github.io/#x15.9.2) – Bergi

+0

我的錯誤 - 西蒙打敗了我,並做到了正確。編輯我的答案。 – bsoist

+0

+1回來改善你的答案:D –