Jump to content
Sign in to follow this  

_DateDiff with native SQL timestamp

Recommended Posts

$sMsg = '2017-09-04 18:42:38'
_DateDiff ('h', $sMsg , _NowCalc() )

I could not find anything recent, so I thought I would put it here.

The '2017-09-04' date is a typical SQL timestamp. The _NowCalc() is a typical AutoIt date calculator.  Much to my surprise and delight, _DateDiff works correctly with these two dates without any prior conversion.

I am guessing that internally the separating characters (-/) get ignore. :)

Does save on additional code. :)



Why is the snake in the sky?

Share this post

Link to post
Share on other sites



I am guessing that internally the separating characters (-/) get ignore

See _DateTimeSplit for acceptable DTM formats.


Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:


ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By rudi
      to retrieve the "MILLISECONDS" as well I modified some lines from "DATE.AU3".
      It's working fine, except that the function seems to return the UTC time stamp of the file checked?
      _NowCalc is returning local time (DST is active right now), so a direct "Age Check" against _NowCalc() is not possible.
      What's the best / safest approach to convert either UTC to "current local time incuding DST" or vice versa? _Date_Time_GetTimeZoneInformation() ???
      #include-once #include <Date.au3> $File="C:\temp\TimeTest.txt" $f=FileOpen($File,2+8) FileWriteLine($f,_NowCalc()) FileClose($f) _NowCalc() $Content=FileRead($File) ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $Content = ' & $Content & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console $TS=FileGetTSstringLastModifiedWithMS($File) ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $TS = ' & $TS & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console Func FileGetTSstringLastModifiedWithMS($_FullFilePathName) $h = _WinAPI_CreateFile($_FullFilePathName, 2, 2) $aTS = _Date_Time_GetFileTime($h) _WinAPI_CloseHandle($h) $aDate = _Date_Time_FileTimeToArray($aTS[2]) If IsArray($aDate) and UBound($aDate) > 6 Then Return StringFormat("%04d/%02d/%02d %02d:%02d:%02d.%03d", $aDate[2], $aDate[0], $aDate[1], $aDate[3], $aDate[4], $aDate[5], $aDate[6]) Else SetError(1) Return EndIf EndFunc ;==>FileGetTSstringLastModifiedWithMS  
      _FileGetTime() is not an option, as I need the milliseconds as well, as files may show up within the same second.
      <edit> It would be preferred to have a robust solution to use "local time", taking care of DST</edit>
      Regards, Rudi.
  • Create New...