Search This Blog

Wednesday, March 27, 2013

Calculate the week Days ,week Ends between two date intervals In Ax 2009


How to Calculate the total number of weeks,weekends or count of  Sundays in a given date interval.. 


static void calcDays(Args _args)
{
    FromDate    fromDate    = today();
    ToDate      toDate      = mkdate(31,01,2011);
    WeekDays    weekDay = WeekDays::Sunday; // the day we search after
    int         days;
    int         cntSpecDay;
    int         leadIn;
    int         leadOut;
    ;
    days = fromDate - toDate; // days difference
    //Calculate the No.Of weeks in given Date Intervals
    leadIn = any2int(fromDate - toDate) /7;
    cntSpecDay = days / 7; // how many sundays in complete weeks
    if (dayOfWk(fromDate) <= weekDay)
    {
        cntSpecDay++; // the day we search is in lead in week
    }
    if (dayOfWk(toDate) >= weekDay)
    {
        cntSpecDay++; // the day we search is in lead out week
    }
info(strfmt("%1 is %2 times embedded between %3 and %4", weekDay,cntSpecDay, fromDate, toDate));
  print days;
  print leadIn;
  pause;
}

Out put:
======
786== Days
112== Weeks
Sunday is 113 times embedded between 3/27/2013 and 1/31/2011

No comments:

Post a Comment