Jump to content

_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?

Link to post
Share on other sites
  • Moderators



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


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
  • 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...