DateStartMth and dateEndMth in ax 2012 1.public date dateStartMth(date _date) 2.client server public static date dateEndMth(date transDate) Date and UTCDateTime interval for previous month This code calculates the first and last date of the previous month static void EP_dateMonthInterval(Args _args) { date fromDate; date toDate; date baseDate = systemDateGet(); ; toDate = dateStartMth(baseDate) - 1; fromDate = dateStartMth(toDate); info(strFmt("%1 - %2", fromDate, toDate)); } UtcDateTime version of the same job static void EP_UtcdateMonthInterval(Args _args) { UtcDateTime fromDate; UtcDateTime toDate; UtcDateTime baseDate = DateTimeUtil::utcNow(); ; // Remove this month number of days. toDate = DateTimeUtil::addDays(baseDate,-(DateTimeUtil::day(baseDate) -1)); // Add the rest of this days time minus one second. toDate = DateTimeUtil::addSeconds(toDate, -(DateTimeUtil::time(toDate)+1)); // Remove the number of days we are on in // the previous month and add one second to // get to the first of the month. fromDate = DateTimeUtil::addSeconds(DateTimeUtil::addDays( toDate, -(DateTimeUtil::day(toDate))), 1); info(strFmt("%1 - %2", fromDate, toDate)); } When working with dates for a range in a SQL select statement, you may be in need for the first and the last day of a certain month. What at first seems a bit difficult to calculate (not all the months have the same number of days for example), is pretty easy to accomplish with the right tools. The first day of a month You can fool around with things like mkdate, so something like this: static void FirstOfMonth(Args _args) { TransDate TransDate=today(); TransDate FirstOfMth; ; FirstOfMth=mkdate(1,mthofyr(TransDate),year(TransDate)); info(date2str(FirstOfMth,123,2,2,2,2,4)); } But there is a readily available function in the Global class, albeit somewhat hidden:DateStartMth. So your code could read like this: static void FirstOfMonth(Args _args) { TransDate TransDate=today(); TransDate FirstOfMth; ; FirstOfMth=DateStartMth(TransDate); info(date2str(FirstOfMth,123,2,2,2,2,4)); } The last day of a month Just like with the first day of a month, we have a function that will do the job for us: endmth This function calculates the last date in the month of the date specified. static void LastOfMonth(Args _args) { TransDate TransDate=today(); TransDate LastOfMth; ; LastOfMth=endmth(TransDate); info(date2str(LastOfMth,123,2,2,2,2,4)); } DateTimeUtil::date(DateTimeUtil::applyTimeZoneOffset(DateTimeUtil::utcNow(), DateTimeUtil::getUserPreferredTimeZone()));
This site contains some Microsoft Dynamics AX X++ Codes for use in your day to day use, as well future changes in Ax 2009, ax 2012 R2,R3 and RAINER (or) Ax 7, Workflow ,SSRS ,EP,AIF,DIXF
Friday, 10 January 2014
Month start date and month end date, applyTimeZoneOffset get in ax 2012
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment