2012-09-13 44 views
5

làm cách nào để định dạng ngày javascript như định dạng ISO, nhưng theo giờ địa phương?Định dạng ngày Javascript như ISO nhưng địa phương

với myDate.toISOString() Tôi nhận được thời gian như: "2012-09-13T19: 12: 23.826Z"

nhưng ở đây, đó là 22:13, vậy làm thế nào để tôi bao gồm múi giờ ở định dạng trên?


tôi đã kết thúc làm ...

pad=function(e,t,n){n=n||"0",t=t||2;while((""+e).length<t)e=n+e;return e} 
c = new Date() 
c.getFullYear()+"-"+pad(c.getMonth()+1)+"-"+pad(c.getDate()-5)+"T"+c.toLocaleTimeString().replace(/\D/g,':')+"."+pad(c.getMilliseconds(),3) 

Trả lời

3

AFAIK bạn không thể định dạng các ngày trong javascript (không sử dụng thư viện bên ngoài). Điều tốt nhất bạn có thể làm là "tự định dạng". Ý tôi là:

var date = new Date(); 
var year = date.getFullYear(); 
var month = date...... 


var ISOdate = year + "-" + month + "-" + .... ; 

Nhưng có một số thư viện tốt sẽ cho phép bạn định dạng ngày! (Đọc "định dạng" như trong library.getDate("YYYY-MM-DD.........");)

EDIT:

Moment.js vẻ như điều bạn đang tìm kiếm: http://momentjs.com/

+0

và tháng trở bởi '.getMonth()' si không đệm, vì vậy tôi đoán tôi sẽ cần một thư viện để đệm nó - có vẻ như rất nhiều faff! –

+0

Vâng, thực sự. Đó là rất nhiều công việc, đó là lý do tại sao tôi khuyên bạn nên sử dụng Moment.js hoặc một số thư viện khác. – alexandernst

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