2012-02-28 43 views
10

Tôi có dấu thời gian unix, ví dụ: 1313564400000.00. Làm cách nào để chuyển đổi thành đối tượng Ngày tháng và nhận tháng/năm/ngày tương ứng? Sau đây sẽ không làm việc:javascript: nhận tháng/năm/ngày từ dấu thời gian unix

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

Bạn có gặp sự cố với mã của mình không? Nếu có, nó là cái gì? Có bất cứ điều gì [tài liệu MDN] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date) không thể giúp bạn với? –

+0

Kết quả phân tích cú pháp là ngày = NaN – Yang

+0

Vâng, tài liệu cho 'phân tích cú pháp' nói: * Phương thức phân tích nhận chuỗi ngày (chẳng hạn như" ngày 25 tháng 12 năm 1995 ") và trả về số mili giây kể từ ngày 1 tháng 1 năm 1970, 00 : 00: 00 UTC. *, Vì vậy, đó không phải là phương pháp phù hợp để sử dụng. Bạn có thể muốn 'ngày mới (mili giây)'. –

Trả lời

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

, vv

Đây sẽ là theo giờ địa phương của trình duyệt của người dùng.

+0

Bạn đã thử điều đó chưa? Điều này cũng trả về NaN. – Yang

+0

Đã thử trong Chrome. –

+0

@Yang: Không có: http://jsfiddle.net/tVWkP/ –

6

Thay vì sử dụng parse, được sử dụng để chuyển đổi một ngày chuỗi đến một Date, chỉ cần vượt qua nó vào Date constructor:

var date = new Date(timestamp); 

Hãy chắc chắn rằng dấu thời gian của bạn là Number, tất nhiên.

+0

Bạn đúng Jacob! – Yang

+0

Tuyệt vời. Chỉ là những gì tôi đã được stumped trong giây lát. – gdgr

Các vấn đề liên quan