Tìm kiếm xác nhận nếu đây là tài liệu hướng dẫn và/hoặc lỗi triển khai thực hiện với phương thức Date.parse của Javascript.Lỗi Javascript Date.parse khi dấu gạch ngang phân tách và bắt đầu với năm
Tài liệu tôi đang đề cập đến là https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/parse và họ nói 'Nếu bạn không chỉ định múi giờ, múi giờ địa phương được giả định.' Tuy nhiên, mã sau đây cho thấy rằng, mặc dù không chỉ định múi giờ, giờ địa phương là không được giả định (nhưng thay vào đó bù đắp múi giờ của tôi đang được áp dụng), nếu chuỗi được chuyển đến Date.parse bắt đầu bằng số 4 đại diện năm chữ số và được phân tách bằng dấu gạch ngang.
var euroStyleDate = '2011-10-04';
var amerStyleDate = '10/04/2011';
var euroStyleParsed = Date.parse(euroStyleDate);
var amerStyleParsed = Date.parse(amerStyleDate);
console.log(euroStyleParsed); //1317686400000
console.log(amerStyleParsed); //1317700800000
console.log(new Date(euroStyleParsed));
//Date {Mon Oct 03 2011 20:00:00 GMT-0400 (Eastern Daylight Time)}
console.log(new Date(amerStyleParsed));
//Date {Tue Oct 04 2011 00:00:00 GMT-0400 (Eastern Daylight Time)}
Thậm chí có thể có các trường hợp khác và tôi chắc chắn tôi không phải là người đầu tiên khám phá điều này nếu tôi không chính xác. Vì vậy, ngoài xác nhận, tôi chắc chắn muốn được chỉ vào thông tin chuyên sâu hơn về điều này nếu có ai biết về các liên kết thích hợp.
Tôi đang trải nghiệm điều này trong FF3, Chrome dành cho Windows và tất nhiên chỉ là IE8 đặc biệt thậm chí không có khả năng thực hiện chuyển đổi vào ngày 2011-10-04 bất cứ điều gì: Tôi chỉ nhận được chuỗi trống trong đơn đăng ký của tôi
Cảm ơn trước vì đã có thêm thông tin chi tiết hoặc tài nguyên.
Vâng, chúng tôi đang sử dụng ExtJS và nó rơi trở lại vào ngày phân tích nguồn gốc của trình duyệt :( –
Tôi tin Datejs đè mẹ đẻ 'Date.parse' phương pháp, do đó có thể làm các trick. – nrabinowitz
FYI, thấy tôi cập nhật ở trên - Tôi đã làm một chút nhìn xung quanh các thông số kỹ thuật – nrabinowitz