2012-02-28 15 views
10

Bir unix zaman damgası var, örneğin, 1313564400000.00. Bunu Date nesnesine nasıl dönüştürürüm ve buna göre ay/yıl/gün alırım? Aşağıdaki çalışmaz:javascript: unix zaman damgasından ay/yıl/gün olsun

function getdhm(timestamp) { 
     var date = Date.parse(timestamp); 
     var month = date.getMonth(); 
     var day = date.getDay(); 
     var year = date.getYear(); 

     var formattedTime = month + '/' + day + '/' + year; 
     return formattedTime; 

    } 
+0

Kodunuzda bir sorun mu var? Eğer evet ise, bu nedir? [MDN belgeleri] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date) size yardımcı olamıyor mu? –

+0

Ayrıştırma sonucu date = NaN – Yang

+0

Eh, parse 'belgelerine diyor: * Ayrıştırma yöntemi bir tarih dizesi alır ("Dec 25, 1995" gibi) ve 1 Ocak 1970'den beri milisaniye sayısını döndürür. : 00: 00 UTC. * Yani, bu kullanmak için doğru yöntem değil. Muhtemelen yeni tarih (milisaniye) 'yi isteyebilirsiniz. –

cevap

14
var date = new Date(1313564400000); 
var month = date.getMonth(); 

vb

Bu kullanıcının tarayıcısının yerel saat olacaktır.

+0

Bunu denedin mi? Bu NaN'yi de döndürür. – Yang

+0

Chrome'da denedim. –

+0

@Yang: Hayır değil: http://jsfiddle.net/tVWkP/ –

6

yerine Date için bir randevum dize dönüştürmek için kullanılan, parse kullanmak yerine, sadece Date yapıcı içine geçmek:

var date = new Date(timestamp); 

emin olun zaman damgamız bir Number, elbette.

+0

Haklısınız Jacob! – Yang

+0

Mükemmel. Sadece anlık olarak neye uğradım. – gdgr

İlgili konular