>

입력 한 날짜가 오늘 날짜의 7 일 이후인지 확인하기 위해 서로 다른 두 날짜를 비교하려고합니다. 나는 약간의 인터넷 검색을 수행하고 이것을 생각해 냈습니다 :

function val_date(input){
    var date = new Date(input);
    date = date.getTime() / 1000;
    var timestamp = new Date().getTime() + (7 * 24 * 60 * 60 * 1000)
    window.alert("Date: "+date + " = N_Date: "+timestamp);
    if(timestamp > date || timestamp === date){
        // The selected time is less than 7 days from now
        return false;
    }
    else if(timestamp < date){
    // The selected time is more than 7 days from now
        return true;
    }
    else{
    // -Exact- same timestamps.
        return false;
    }
}

알림을 사용하여 진행 상황을 확인하여 날짜가 다른지 확인할 수 있습니다. 경고의 결과는 다음과 같습니다.

와이즈 비즈

여기에 제가 잘못하고있는 것이 있습니까?
도움이되는지 모르지만 내 날짜 형식은DD-MM-YYYY

입니다.

Date: NaN = N_Date = 13255772630 (<- or something like that).

  • 답변 # 1

    날짜를 비교하고 시간을 포함하지 않으려면 다음과 같이 사용할 수 있습니다 :

    // dateString is format DD-MM-YYYY
    function isMoreThan7DaysHence(dateString) {
        // Turn string into a date object at 00:00:00
        var t = dateString.split('-');
        var d0 = new Date(t[2], --t[1], t[0]);
        // Create a date for 7 days hence at 00:00:00
        var d1 = new Date();
        d1.setHours(0, 0, 0, 0);
        d1.setDate(d1.getDate() + 7);
        return d0 >= d1;
    }
    
    

    오늘 날짜의 시간은 0이어야합니다.

  • 답변 # 2

    날짜 : NaN  날짜 작성에 전달하는 문자열은 날짜를 작성할 수 없으므로 <시간> 시도

    피들 데모

    Date.prototype.addDays = function (days) {
        this.setDate(this.getDate() + days);
        return this;
    };
    function val_date(input) {
        var inputDate = new Date(input);
        var dateWeek = new Date().addDays(7);
        console.log(inputDate, dateWeek);
        if (inputDate < dateWeek) {
            // The selected time is less than 7 days from now
            return false;
        } else {
            // The selected time is more than 7 days from now
            return true;
        }
    }
    
    

  • 답변 # 3

    moment.js 사용 :

    moment([2013, 2, 29]).fromNow();
    
    

  • 답변 # 4

    이것은 매우 일반적이며 날짜를 조작하려는 경우이를 위해 Javascript 라이브러리를 사용할 수 있습니다. moment.js라는 훌륭한 기능이 있습니다

    이 기능을 사용하면 다음과 같은 작업을 수행 할 수 있습니다 :

    moment().add('days', 7)

    향후 1 주일을 찾으려면

  • 답변 # 5

    입력이 유효한 Javascript Date 객체라고 가정하면 다음을 시도 할 수 있습니다.

    function dateDifference(oldDate) {
        var currentDate = new Date();
        var difference = currentDate - oldDate; //unit: milliseconds
        var numDays = 7;
        var threshHoldTime = numDays * (24 * 60 * 60 * 1000); //seven days in milliseconds
        if (difference > threshHoldTime ) {
            console.log("The difference is greateer then then 7 days");
        }
        else {
            console.log("the date is not enough: " + difference);
        }
    }
    
    

관련 자료

  • 이전 php - 내 서버는 모서리에 '널'이있는 빈 페이지를 반환합니다
  • 다음 sql - 테이블, 필드 및 스키마 이름을 사용하여 참조 된 테이블 이름 찾기