Showing posts with label Date and Time. Show all posts
Showing posts with label Date and Time. Show all posts

Saturday, July 16, 2022

convert date time to string using x++ In D365FO

 Convert date time to string using x++ In D365FO.

static void dateToStr(Args _args)
{
    UtcDateTime     dateTime = DateTimeUtil::getSystemDateTime();

    DateTimeUtil::toStr(dateTime);// Convert to str : "2022-06-15T13:00:30.0900000"
---or---
    // If you want special characters.

    system.DateTime sysDateTime;

    sysDateTime =  dateTime;

    print sysDateTime.ToString("yyyy-MM-dd");
    print sysDateTime.ToString("MM/dd/yy H:mm:ss zzz");
----or----
use date2Str:

    str datestr;

    datestr = date2Str(today(),
                        321,
                        DateDay::Digits2,
                        DateSeparator::Hyphen, // separator1
                        DateMonth::Digits2,
                        DateSeparator::Hyphen, // separator2
                        DateYear::Digits4);
    
    info('Today is: ' + datestr);
}
---Or---
    utcDateTime     utcDateTimeFromString   = DateTimeUtil::anyToDateTime("2012-04-01T00:00:00");
    utcDateTime     utcDateTimeISOFormat    = 2012-04-01T00:00:00;
    utcDateTime     utcNow;
    System.DateTime systemDateTime;
    date            dateOnly;
    str             systemDateTimeStr;

    // AX UTC to System.DateTime: Result: "7/17/2022 3:57:25 AM"
    systemDateTime      = Global::utcDateTime2SystemDateTime(DateTimeUtil::utcNow());

    //System.DateTime to AX UTC: Result:"7/17/2022 03:57:52 am"
    utcNow              = Global::clrSystemDateTime2UtcDateTime(System.DateTime::get_UtcNow());

    // date portion from a UTC:  Result:"7/17/2022"
    dateOnly            = DateTimeUtil::date(utcNow);

    // Cast to string for output
    systemDateTimeStr   = systemDateTime.ToString();
     
    info(strFmt("%1, %2, %3",
                systemDateTimeStr,
                utcNow,
                dateOnly));
    
    info(strFmt("%1, %2",
                DateTimeUtil::toStr(DateTimeUtil::utcNow()),//2022-07-17T04:00:58
                DateTimeUtil::toStr(utcNow)));// 2022-07-17T04:00:59





Keep Daxing!!




Saturday, June 25, 2022

Date and Time functions in D365FO

Date and Time functions in D365FO .


  //The minimum value for the date in x++ is 1/1/1900 and max value is 12/31/2154

    Global::DateNull();
    DateTimeUtil::minValue();//Retrieves the minimum value 
    DateTimeUtil::maxValue();//Retrieves the maximum value 
    utcDateTimeNull();
    dateNull();
    dateMax();

    DateTimeUtil::addDays(utcdatetime, Int); //Add days
    DateTimeUtil::addHours(utcdatetime, Int) // Add hours
    DateTimeUtil::addMinutes(utcdatetime, Int)// Add minutes 
    DateTimeUtil::addMonths(utcdatetime, Int)// Add months  
    DateTimeUtil::addSeconds(utcdatetime, Int)// Add seconds
    DateTimeUtil::addYears(utcdatetime, Int)// Add years

    DateTimeUtil::applyTimeZoneOffset(utcdatetime, Timezone)//  apply Timezone 
    DateTimeUtil::applyTimeZoneOffsetRange(QueryBuildRange)//  Applies the time zone offset to the range.


    DateTimeUtil::year(utcdatetime) // Retrieves the year 
    DateTimeUtil::month(utcdatetime)// Retrieves the month 
    DateTimeUtil::date(utcdatetime)//  Retrieves date 
DateTimeUtil::day(utcdatetime)// Retrieves the day DateTimeUtil::time(utcdatetime)// Retrieves the time DateTimeUtil::minute(utcdatetime)// Retrieves the minute DateTimeUtil::second(utcdatetime) //Retrieves the seconds DateTimeUtil::getClientMachineTimeZone()// Gets the Timezone of client computer. DateTimeUtil::getCompanyTimeZone()// Gets the Timezone valu of current legal entity. DateTimeUtil::getDifference(utcdatetime, utcdatetime) //Gets the number of seconds between                                                         //two specified utcdatetime values. DateTimeUtil::utcNow() //Retrieves the current system time. DateTimeUtil::getSystemDate(DateTimeUtil::getUserPreferredTimeZone()) //Gets the current system DateTimeUtil::getTimeNow(DateTimeUtil::getUserPreferredTimeZone()) //Gets the current system time DateTimeUtil::getToday(DateTimeUtil::getUserPreferredTimeZone()) //Gets the current system date DateTimeUtil::setCompanyTimeZone(Timezone) // Sets the Timezone the current company. DateTimeUtil::setUserPreferredTimeZone(Timezone) //Sets the preferred time zone DateTimeUtil::getUserPreferredTimeZone() //Gets the current system date time DateTimeUtil::removeTimeZoneOffset(utcdatetime, Timezone) //Removes the offset Timezone DateTimeUtil::newDateTime(Date, Int32) //Creates a new utcdatetime . DateTimeUtil::toStr(utcdatetime) // Converts a utcdatetime value to a                                 //string in the following format: YYYY-MM-DDThh:mm:ss,     intVNo(_startDate, _enddate, intvScale::Month) // will get month difference     intVNo(_startDate, _enddate, intvScale::Year) // will get Year difference
    
Keep daxing!!

Thursday, July 15, 2021

Get year start date and End date in D365Fo using X++

 

Note : DateEndYr(), DateStartyr() -- "IsObsolete". Instead of this functions replace with below function.


    PeriodStart start; PeriodEnd End; xSession xSession = new xSession(); start = DateTimeUtil::getStartOfYearDate(xSession.preferredLocale(), DateTimeUtil::getToday(DateTimeUtil::getUserPreferredTimeZone())); End = DateTimeUtil::getEndOfYearDate(xSession.preferredLocale(), DateTimeUtil::getToday(DateTimeUtil::getUserPreferredTimeZone()));// today()); info(strFmt('start date%1,endDate%2',start,End));


Keep Daxing!!


Thursday, April 15, 2021

Replace time in D365Fo using X++

 Replace time in D365Fo using X++


    public utcdatetime checkTime(utcdatetime  _dateTime)

    {

        FromTime        second      = DateTimeUtil::second(_dateTime);

        FromTime        minute      = DateTimeUtil::minute(_dateTime);

        utcdatetime     dateTime    = DateTimeUtil::addMinutes(DateTimeUtil::addSeconds(_dateTime,-second),-minute);;

        ;


        if((minute >= 15 && minute < 30) || (minute >= 30 && minute < 45))

        {

            dateTime = DateTimeUtil::addMinutes(dateTime, 30);

        }

        else if(minute >= 45 && minute < 60)

        {

            dateTime = DateTimeUtil::addHours(dateTime, 1);

        }


        return dateTime;

    }

Friday, December 4, 2020

Remove special characters of Date and Time in ax 2012 X++

Hi guys, Today we see how to  Remove special characters of Date and Time in ax 2012 X++.


Run the below job.



 static void FormatDateTimeJob(Args _args)

{

    utcDateTime now = DateTimeUtil::utcNow();


    str formattedOutput;


    now = DateTimeUtil::applyTimeZoneOffset(

    now,

    DateTimeUtil::getClientMachineTimeZone());


    formattedOutput = DateTimeUtil::toFormattedStr(

        now,

        321,

        DateDay::Digits2,

        DateSeparator::None,

        DateMonth::Digits2,

        DateSeparator::None,

        DateYear::Digits2,


        TimeSeparator::Colon,

        TimeSeparator::Colon);


    info(formattedOutput);

    info(strRem(formattedOutput,":"+" "));

}

OutPut:







Keep Daxing!!

Sunday, November 1, 2020

How to get Date or Time from UTCDateTime in ax 2012 using X+

 

Hi guys, Today we see how to get date or Time from UTCDateTime in ax 2012 using X++. 


Run the below job.


static void dateFunctions(Args _args)

{

    CustTable       custable;

    int             daysdiff;

    Date            _Currentdate;

    utcDateTime     _UtcStartPeriod;

    utcDateTime     _UtcEndPeriod;

    utcDateTime     dateTime;

    date            dateInUserTimeZone;

    TimeOfDay       timeInUserTimeZone;

    AccountNum      _accountNum = '456';

    

    select custable where custable.AccountNum == _accountNum;

    

    // Convert normal date into utcDateTime

    _currentdate=today();

   _UtcStartPeriod =  DateTimeUtil::newDateTime(_currentdate,0);


    // Convert utcDateTime into Date

    dateInUserTimeZone = DateTimeUtil::date(DateTimeUtil::applyTimeZoneOffset(custable.modifiedDateTime, DateTimeUtil::getUserPreferredTimeZone()));

    timeInUserTimeZone = DateTimeUtil::time(DateTimeUtil::applyTimeZoneOffset(custable.modifiedDateTime, DateTimeUtil::getUserPreferredTimeZone()));

    //dateTime = DateTimeUtil::newDateTime(dateInUserTimeZone, timeInUserTimeZone, DateTimeUtil::getUserPreferredTimeZone());

    

    daysDiff =  dateInUserTimeZone - today();


    info(strfmt("today date - %1",today()));

    info(strfmt("cust account date - %1",dateInUserTimeZone));

    info(strfmt("cust account time - %1",timeInUserTimeZone));


    info(strfmt("days difference - %1",daysDiff));

}

Output:





Keep Daxing!!