Định dạng là: MMDDhhmmjavascript: làm thế nào để phân tích một chuỗi ngày
Tôi muốn tận tháng, ngày, giờ, phút riêng, làm thế nào để làm điều đó?
Định dạng là: MMDDhhmmjavascript: làm thế nào để phân tích một chuỗi ngày
Tôi muốn tận tháng, ngày, giờ, phút riêng, làm thế nào để làm điều đó?
var dateString = '13011948';
Chiều dài của văn bản là cố định và luôn đồng Chức vụ. Sau đó, bạn chỉ có thể sử dụng substr
để cắt chúng thành các phần và sử dụng parseInt
để chuyển đổi chúng thành số.
var month = parseInt(dateString.substr(0, 2), 10),
day = parseInt(dateString.substr(2, 2), 10),
hour = parseInt(dateString.substr(4, 2), 10),
minute = parseInt(dateString.substr(6, 2), 10);
Hoặc thay vào đó, hãy đặt nó trong một đối tượng ngày.
var date = new Date();
date.setMonth (parseInt(dateString.substr(0, 2), 10) - 1);
date.setDate (parseInt(dateString.substr(2, 2), 10));
date.setHours (parseInt(dateString.substr(4, 2), 10));
date.setMinutes (parseInt(dateString.substr(6, 2), 10));
EDIT
Thư viện moment.js tìm thấy here trông tuyệt vời cho điều này!
END EDIT
này sẽ giúp ... working with Dates
Có một số phương pháp trong javascript ngày đối tượng đó sẽ giúp bạn có được những thông số
var curdate = new Date();
var mday = curdate.getDate(); //returns day of month
var month = curdate.getMonth(); //returns month 0-11
var hours = curdate.getHours(); //returns hours 0-23
var minutes = curdate.getMinutes(); //returns minutes 0-59
Kiểm tra this
Nếu bạn không có đối tượng ngày, bạn có thể phân tích cú pháp nó bằng cách sử dụng
var curdate = Date.parse("Jan 1, 2010");
Để phân tích ngày sang định dạng cụ thể của bạn tham khảo this
Bạn có chắc chắn ví dụ thứ hai là chính xác không? Date.parseDate() dường như không tồn tại đối với tôi và hàm Date.parse() nhận một đối số trong định dạng IETF. –
@Mark Biek - Vâng, Cảm ơn Mark, bạn đã đúng. – niksvp
Nếu bạn đang đảm bảo rằng nó luôn luôn phải ở định dạng MMDDhhmm, bạn có thể phân tích nó với một regex đơn giản.
var d = "01121201";
var m = /([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/.exec(d);
console.log(m);
đó sẽ ra
["01121201", "01", "12", "12", "01"]
Nhưng bằng cách sử dụng chức năng cập nhật thực tế là tốt hơn nếu có thể.
Bạn có thể làm một cái gì đó như sau để có những kết quả của các trận đấu regex trên để tạo một sự thật Javascript ngày đối tượng:
//The year will default to the current year
var realDate = new Date();
realDate.setMonth(m[1]);
realDate.setDate(m[2]);
realDate.setHours(m[3]);
realDate.setMinutes(m[4]);
wow, phấn khởi vẫn đang chạy !! tôi đã từng đến đó cho các mẫu trang web miễn phí trước khi biến thiên niên kỷ (và lâu trước khi tôi là một nhà phát triển web)! cổ vũ cho việc đi bộ xuống làn đường bộ nhớ :-) – WickyNilliams
lol Tôi chưa bao giờ nghe nói về nó. xuất hiện trong google khi tôi tìm kiếm. Có vẻ như một nguồn tài nguyên tốt cho điều này mặc dù ... – stephen776