Jump to content

_Date_Time_GetFileTime() is returning UTC?


rudi
 Share

Recommended Posts

Hello

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.

Edited by rudi

Earth is flat, pigs can fly, and Nuclear Power is SAFE!

Link to comment
Share on other sites

Wouldn't it be easier to use the _Date_CompareFileTime function?

Quote

_Date_Time_CompareFileTime
Compares two file times
 

 

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to comment
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
 Share

×
×
  • Create New...