DateTimeExamples

static void DateTimeExamples(Args _args)
{
    // timezone definitions for use in demo code
    Timezone            myTimeZone = Timezone::GMTMINUS0600CENTRALTIME;
    Timezone            NYTimeZone = Timezone::GMTMINUS0500EASTERNTIME;
    Timezone            MSTimeZone = Timezone::GMTMINUS0800PACIFICTIME;
    
    // DateTime variables for use in demo code
    utcDateTime         myDateTime;
    utcDateTime         GMTDateTime;
    utcDateTime         NYDateTime;
    utcDateTime         MSDateTime;
    
    // my current system date/time value in UTC
    GMTDateTime = DateTimeUtil::getSystemDateTime();
    info(strFmt("Current system datetime in GMT: %1",datetime2str(GMTDateTime)));
    
    // apply my timezone offset to see date in my current timezone
    myDateTime = DateTimeUtil::getSystemDateTime();
    myDateTime = DateTimeUtil::applyTimeZoneOffset(myDateTime,myTimeZone);
    info(strFmt("Current system datetime in my timezone: %1",datetime2str(myDateTime)));
    
    // apply my timezone offset to see date in my current timezone
    NYDateTime = DateTimeUtil::getSystemDateTime();
    NYDateTime = DateTimeUtil::applyTimeZoneOffset(NYDateTime,NYTimeZone);
    info(strFmt("Current system datetime in NY timezone: %1",datetime2str(NYDateTime)));
    
    // bad example of time zone change
    MSDateTime = DateTimeUtil::applyTimeZoneOffset(NYDateTime,MSTimeZone);
    info(strFmt("NY datetime in MS timezone (incorrect): %1",datetime2str(MSDateTime)));
    
    // proper way to change the timezone information
    MSDateTime = DateTimeUtil::removeTimeZoneOffset(NYDateTime,NYTimeZone);
    MSDateTime = DateTimeUtil::applyTimeZoneOffset(MSDateTime,MSTimeZone);
    info(strFmt("NY datetime in MS timezone: %1",datetime2str(MSDateTime)));    
}

Comments

Popular posts from this blog

Getting Workflow Approvers In Dynamics AX (AX 2012)

Creating a numbersequence in form level in ax 2012

AX 2012 R3 Line by line invoicing the sales order using X++ code