AX 2012 日期计算

static void DateDiffA(Args _args)
{
   date TransDate;
 
   TransDate Calcdate(date       startDate,
                      Periods    periodQty,
                      PeriodUnit periodUnit)
   {
      TransDateTime TransDateTime=DateTimeUtil::newDateTime(startDate,0);
 
      switch (periodUnit)
      {
         case PeriodUnit::Day:
            return any2date(DateTimeUtil::addDays(TransDateTime,periodQty));
 
         case PeriodUnit::Month:
            return any2date(DateTimeUtil::addMonths(TransDateTime,periodQty));
 
         case PeriodUnit::Year:
            return any2date(DateTimeUtil::addYears(TransDateTime,periodQty));
      }
 
      throw error(Error::wrongUseOfFunction(funcname()));
   }
   ;
 
   TransDate=CalcDate(today(),-3,PeriodUnit::Month);
 
   info(strfmt('The calculated date is %1',date2str(TransDate,321,2,2,2,2,4)));
}

posted @ 2016-11-25 09:23  Fog-Fog  阅读(361)  评论(0编辑  收藏  举报