17 February, 2026

Useful DateTimeUtil Methods in D365 FO X++ (Dynamics AX / Dynamics 365 Finance & Operations)

Working with date and time is a very common requirement when developing solutions in Dynamics AX and Dynamics 365 Finance & Operations. Whether it’s handling batch jobs, logging execution time, applying business rules based on dates or converting values across time zones, date-time handling needs to be done carefully.

In X++ DateTimeUtil plays a key role in managing all date and time–related operations. It provides several built-in methods to convert dates, handle UTCDateTime values and work with user or system time zones in a reliable way.

During my development work, I have frequently used the following DateTimeUtil methods. I have collected them here as a quick reference that can help developers understand and use date-time operations more effectively in Dynamics AX / D365 FO.


Below is a list of commonly used DateTimeUtil methods with examples that you can use in your day-to-day X++ development.


// Get Past date time

DateTimeUtil::addDays(DateTimeUtil::utcNow(), -1);


// Convert Date to DateTime 

 FromDateTime fromDateTime = DateTimeUtil::newDateTime(Fromdatefilter.dateValue(), 0);

 ToDateTime toDateTime = DateTimeUtil::newDateTime(ToDateFilter.dateValue(), timeMax());


// Today date
date today = DateTimeUtil::getSystemDate(DateTimeUtil::getUserPreferredTimeZone());


//Convert DateTime to Date
DateTimeUtil::date(ledgerJournalTable.PostedDateTime)


//Convert to company date
 public date convertToCompanyDate(utcDateTime _dateTime)

 {

     return HcmDateTimeUtil::convertToCompanyDate(DateTimeUtil::removeTimeZoneOffset(_dateTime, userTimeZone));

 }


//Get min and max DateTime value 

utcdatetime validFromDate = DateTimeUtil::minValue();

utcdatetime validToDate = DateTimeUtil::maxValue();


//Get current year from date

 int defaultYear = year(DateTimeUtil::getSystemDate(DateTimeUtil::getUserPreferredTimeZone()));


//Last date in year

Date lastDayInYear = DateTimeUtil::getEndOfYearDate(locale, firstDayInYear);

No comments:

Post a Comment