以下Job包括绝大部分AX 2009的时间操作
View Code
static
void
DateTest(Args _args)
{
Integer time, lTime;
Integer l;
utcDateTime dt;
;
info(strfmt( " utcNow : %1 " , DateTimeUtil::utcNow()));
time = DateTimeUtil::time(DateTimeUtil::applyTimeZoneOffset(DateTimeUtil::utcNow(), DateTimeUtil::getUserPreferredTimeZone()));
info(strfmt( " %1 " , time));
info(strfmt( " %1 " , time / 3600 ));
lTime = DateTimeUtil::time(DateTimeUtil::applyTimeZoneOffset(DateTimeUtil::utcNow(), DateTimeUtil::getUserPreferredTimeZone()));
l = lTime - time;
info(strfmt( " %1 " , l));
info(date2str(today(), 321 , 2 , 3 , 2 , 3 , 4 ));
dt = DateTimeUtil::applyTimeZoneOffset(DateTimeUtil::utcNow(), DateTimeUtil::getUserPreferredTimeZone());
info(DateTime2str(dt, 4 ));
// dt = DateTimeUtil::applyTimeZoneOffset(DateTimeUtil::utcNow(), DateTimeUtil::getUserPreferredTimeZone());
dt = DatetimeUtil::removeTimeZoneOffset(DateTimeUtil::utcNow(),datetimeutil::getCompanyTimeZone());
info(strfmt( " %1 remove time zone : %2 " , DateTimeUtil::utcNow(), DateTime2str(dt, 4 )));
info(strfmt( " %1 " , DateTimeUtil::newDateTime(str2date( " 2010/11/24 " , 321 ), 1 )));
info(DateTime2str(dt, 4 ));
info(strfmt( " Date to DateTime : %1 " , DateTimeUtil::newDateTime(today(), 1 )));
info(strfmt( " Min DateTime : %1 " , DateTimeUtil::minValue()));
info(strfmt( " Max DateTime : %1 " , DateTimeUtil::maxValue()));
info(strfmt( " Get Date from DateTime : %1 " , DateTimeUtil::date(DateTimeUtil::utcNow())));
info(strfmt( " previous qtr = %1 " , prevqtr(today())));
info(strfmt( " previous week = %1 " , (today() - 6 )));
info(strfmt( " new date time = %1 " , DateTimeUtil::newDateTime(today(), str2time( " 00:00:00 " ))));
info(strfmt( " next month = %1, date start next month = %2 " , nextMth(today()), DateStartMth(NextMth(today()))));
}
{
Integer time, lTime;
Integer l;
utcDateTime dt;
;
info(strfmt( " utcNow : %1 " , DateTimeUtil::utcNow()));
time = DateTimeUtil::time(DateTimeUtil::applyTimeZoneOffset(DateTimeUtil::utcNow(), DateTimeUtil::getUserPreferredTimeZone()));
info(strfmt( " %1 " , time));
info(strfmt( " %1 " , time / 3600 ));
lTime = DateTimeUtil::time(DateTimeUtil::applyTimeZoneOffset(DateTimeUtil::utcNow(), DateTimeUtil::getUserPreferredTimeZone()));
l = lTime - time;
info(strfmt( " %1 " , l));
info(date2str(today(), 321 , 2 , 3 , 2 , 3 , 4 ));
dt = DateTimeUtil::applyTimeZoneOffset(DateTimeUtil::utcNow(), DateTimeUtil::getUserPreferredTimeZone());
info(DateTime2str(dt, 4 ));
// dt = DateTimeUtil::applyTimeZoneOffset(DateTimeUtil::utcNow(), DateTimeUtil::getUserPreferredTimeZone());
dt = DatetimeUtil::removeTimeZoneOffset(DateTimeUtil::utcNow(),datetimeutil::getCompanyTimeZone());
info(strfmt( " %1 remove time zone : %2 " , DateTimeUtil::utcNow(), DateTime2str(dt, 4 )));
info(strfmt( " %1 " , DateTimeUtil::newDateTime(str2date( " 2010/11/24 " , 321 ), 1 )));
info(DateTime2str(dt, 4 ));
info(strfmt( " Date to DateTime : %1 " , DateTimeUtil::newDateTime(today(), 1 )));
info(strfmt( " Min DateTime : %1 " , DateTimeUtil::minValue()));
info(strfmt( " Max DateTime : %1 " , DateTimeUtil::maxValue()));
info(strfmt( " Get Date from DateTime : %1 " , DateTimeUtil::date(DateTimeUtil::utcNow())));
info(strfmt( " previous qtr = %1 " , prevqtr(today())));
info(strfmt( " previous week = %1 " , (today() - 6 )));
info(strfmt( " new date time = %1 " , DateTimeUtil::newDateTime(today(), str2time( " 00:00:00 " ))));
info(strfmt( " next month = %1, date start next month = %2 " , nextMth(today()), DateStartMth(NextMth(today()))));
}