Forum Discussion

mbeckham's avatar
mbeckham
Occasional Contributor
4 years ago

DateTime milliseconds rounding

Hi,  I'm hoping there is someone who may have a solution to my problem.

I have a SQL database column ActionDateTime (datetime) with the following value: 

The value displayed on the website is :

When I verify the ActionDateTime   ( website table vs database table)

 

dateActioned = aqConvert.DateTimeToFormatStr(Qry3.FieldByName("ActionDateTime").Value, "%d/%m/%Y %H:%M");

aqObject.CheckProperty(Table.rows.item(rowIdx).cells.item(3), "innerText", cmpEqual, dateActioned);

 

The seconds/milliseconds    59.623  has rounded up, causing the minutes also to be rounded up.

 

How can I get the hours:minutes without the rounding?

 

Thanks

Mark

 

 

 

  • Hi,

     

    Consider .GetHours() and .GetMinutes() methods of aqDateTime object to get just hours and minutes and combine obtained values with the date and format as required.

    Or convert the value obtained from the database to string and get a substring excluding everything after minutes.

     

    • mbeckham's avatar
      mbeckham
      Occasional Contributor

      Hi Marsha,

      I modified the code:

      dateActioned = aqConvert.DateTimeToFormatStr(Qry3.FieldByName("ActionDateTime").Value, "%d/%m/%Y %H:%M%S");
      Log.Message("dateActioned: " + dateActioned );

       

      dateActioned: 26/11/2020 10:5800

       

      As you can see the rounding has occurred during the format ( should be 10:5759 ) so the milliseconds ( 623) has caused the seconds to round up and then the minutes to round up also.

      If there was a format code for the milliseconds portion of the datetime then I think there could be a viable solution using the substring to truncate them from the string.

      • AlexKaras's avatar
        AlexKaras
        Champion Level 3

        Hi,

         

        Consider .GetHours() and .GetMinutes() methods of aqDateTime object to get just hours and minutes and combine obtained values with the date and format as required.

        Or convert the value obtained from the database to string and get a substring excluding everything after minutes.