You are on page 1of 1

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)));
}

You might also like