Tôi đang tìm cách để thực hiện phép trừ thích hợp giữa hai đối tượng Ngày javascript và nhận được delta ngày.trừ ngày javascript
Đây là cách tiếp cận của tôi, nhưng nó không thành công cho ngày todays như một đầu vào:
<script type="text/javascript">
function getDayDelta(incomingYear,incomingMonth,incomingDay){
var incomingDate = new Date(incomingYear,incomingMonth,incomingDay);
var today = new Date();
var delta = incomingDate - today;
var resultDate = new Date(delta);
return resultDate.getDate();
}
//works for the future dates:
alert(getDayDelta(2009,9,10));
alert(getDayDelta(2009,8,19));
//fails for the today as input, as expected 0 delta,instead gives 31:
alert(getDayDelta(2009,8,18));
</script>
Điều gì sẽ là một cách tiếp cận tốt hơn cho việc này?
cảm ơn bạn đã khắc phục nhưng điều này dường như không thành công tại: getDayDelta (2009,8,19); // nên trả về 1 nhưng trả về 0 (đó là 18 tại địa phương của tôi) – Hellnar
Có, đó là vì 'ngày hôm nay' bao gồm thời gian, xem chỉnh sửa của tôi ... – CMS
@Crib: Vấn đề là' incomingDate' có một phần thời gian của 0 giờ, 0 phút, 0 giây và 0 mili giây. Bạn phải làm tương tự với 'today' hoặc bạn sẽ nhận được một phần ngày cho một ngày trước/sau. Tôi đã chỉnh sửa câu trả lời để phản ánh thay đổi. –