2013-01-14 91 views
0

我在查詢vimeo的API來獲取我的視頻的上傳日期。我不知道爲什麼這部作品在鉻,但不是Safari瀏覽器,以及如何創建一個時間戳此影片的正確方法是:JavaScript日期變量格式 - 鉻vs Safari

var vimeoDate = videos[i].upload_date; 
    var vidDate = new Date(videos[i].upload_date); 
    var vidTime = vidDate.getTime(); 

    console.log('vimeoDate: ' + vimeoDate + ', ' + vidDate + ', ' + vidTime); 
    //returns: "vimeoDate: 2012-06-07 13:47:08, Invalid Date, NaN" 

您可以看到的jsfiddle返回無效日期這裏:

http://jsfiddle.net/nPSqL/

爲了簡化這個,你可以簡單地利用這個字符串:在Safari瀏覽器上運行它,它失敗:

console.log(new Date('2013-01-02 13:33:51')); 

http://jsfiddle.net/nPSqL/1/

+0

嘗試:執行console.log(」 vimeoDate:'+(typeof vimeoDate)+','+ vimeoDate +','+ vidDate +','+ vidTime);.也許它實際上是一個日期。 – algorhythm

+0

typeof vimeoDate返回字符串 – mheavers

+0

那麼它應該工作...你是否認真,你的數組中的所有元素都返回字符串?給一些更多的代碼或者做一個像這樣的jsfiddle.net。 – algorhythm

回答

0

new Date('2012-06-07 13:47:08'); // works 

因此您給定的參數必須居然有型日期。因爲控制檯打印日期。如果這是一個日期,那麼你正試圖做這樣的事情:

var date = new Date(); 
new Date(date); // doesn't work 

而且這並不起作用。

要檢查您的變量的類型日期試試這個:

var isDate = function(date) { 
    return Object.prototype.toString.call(date) === "[object Date]"; 
}; 

好了,找到解決辦法http://jsfiddle.net/nPSqL/2/

得到它從new Date() using Javascript in Safari

+0

很好,謝謝。想知道那些斜槓。 – mheavers