Get all mondays between two dates

Comments

4 comments

  • Rainer Grabowski
    Hi Ninh,

    var start = moment(@from);
    var end = moment(@to);
    var len = diff.end(start, "d");
    var result = [];
    for(var i = 0; i < len; i++){
         if(a.add(i,"d").isoWeekday() == 1){
           result.push(a.add(i,"d").format("DD/MM/YYYY"));
        }
    };
    result.join("\n")

    Rainer

    0
    Comment actions Permalink
  • Ninh

    Thanks Rainer,

    in your code: i don't know variable "a" . Is a = start?

    This code:

    var start = moment(@from)
    var end = moment(@To)
    var len = end.diff(start, "d");
    var result = [];
    for(var i = 0; i < len; i++){
    if(start.add(i,"d").isoWeekday() == 1){
    result.push(start.add(i,"d").format("DD/MM/YYYY"));
    }
    };
    result.join("\n")

    ======

    i have tried, Ex: From = 20/10/2018 & To = 1/2/2019 but result:

    01/10/2018
    28/10/2018: wrong
    20/11/2018: wrong

    ...

    19/01/2031: wrong
    30/09/2031: wrong
    13/03/2033: wrong

    Can you look again? Thanks

     

    0
    Comment actions Permalink
  • Rainer Grabowski

    Hi Ninh, 
    I'm very sorry - my bad.
    First: yes, a = start
    Second: start must be declared as moment().

    var start = moment(@from)
    var end = moment(@to)
    var len = end.diff(start, "d");
    var result = [];
    for(var i = 0; i < len; i++){
    if(moment(start).add(i,"d").isoWeekday() == 1){
    result.push(moment(start).add(i,"d").format("DD/MM/YYYY"));
    }
    };
    result.join("\n")

    That should work. 

     

    0
    Comment actions Permalink
  • Ninh

    it works. Vielen danke Rainer.

    0
    Comment actions Permalink

Please sign in to leave a comment.

Powered by Zendesk