Sample code for 30+ languages & platforms
AutoIt

SFTP Get File Date/Times in Different Formats

See more SFTP Examples

Demonstrates how to get remote file date/times in different formats.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

; This requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.

$oSftp = ObjCreate("Chilkat.SFtp")

; Connect to the SSH server.  
Local $sHostname = "my-sftp-server.com"
Local $iPort = 22
$bSuccess = $oSftp.Connect($sHostname,$iPort)
If ($bSuccess = False) Then
    ConsoleWrite($oSftp.LastErrorText & @CRLF)
    Exit
EndIf

; Authenticate with the SSH server. 
$bSuccess = $oSftp.AuthenticatePw("myLogin","myPassword")
If ($bSuccess = False) Then
    ConsoleWrite($oSftp.LastErrorText & @CRLF)
    Exit
EndIf

; After authenticating, the SFTP subsystem must be initialized:
$bSuccess = $oSftp.InitializeSftp()
If ($bSuccess = False) Then
    ConsoleWrite($oSftp.LastErrorText & @CRLF)
    Exit
EndIf

; Open a directory on the server...
; This example opens the "junk" directory located under the HOME directory of the SSH user account.
Local $sHandle = $oSftp.OpenDir("junk")
If ($oSftp.LastMethodSuccess = False) Then
    ConsoleWrite($oSftp.LastErrorText & @CRLF)
    Exit
EndIf

; Download the directory listing:

$oDirListing = ObjCreate("Chilkat.SFtpDir")
$bSuccess = $oSftp.ReadDirListing($sHandle,$oDirListing)
If ($bSuccess = False) Then
    ConsoleWrite($oSftp.LastErrorText & @CRLF)
    Exit
EndIf

; Close the directory handle
$bSuccess = $oSftp.CloseHandle($sHandle)
If ($bSuccess = False) Then
    ConsoleWrite($oSftp.LastErrorText & @CRLF)
    Exit
EndIf

; Iterate over the files.
; Examine each filename and indicate those that match *FICHERO*.pdf
; (i.e. the filename contains the word "FICHERO" and ends in ".pdf")
$oFileObj = ObjCreate("Chilkat.SFtpFile")
$oSbFilename = ObjCreate("Chilkat.StringBuilder")
Local $bCaseSensitive = False
Local $bLocalDateTime = False

$oDt = ObjCreate("Chilkat.CkDateTime")
Local $i = 0
Local $iN = $oDirListing.NumFilesAndDirs
While $i < $iN

    $bSuccess = $oDirListing.FileAt($i,$oFileObj)
    If ($bSuccess = False) Then
        ConsoleWrite($oDirListing.LastErrorText & @CRLF)
        Exit
    EndIf

    ConsoleWrite($oFileObj.Filename & @CRLF)

    ; Get the last-modified date/time
    $oDt.SetFromRfc822($oFileObj.LastModifiedTimeStr)

    ; Get the date/time in other formats offered by the CkDateTime object.

    ; such as Wed, 18 Oct 2017 09:08:21 GMT
    ConsoleWrite("RFC822 format: " & $oDt.GetAsRfc822($bLocalDateTime) & @CRLF)

    ; such as 1990-12-31T23:59:60Z
    ConsoleWrite("Timestamp: " & $oDt.GetAsTimestamp($bLocalDateTime) & @CRLF)

    ; Such as: "02/16/2008 12:15:12"  where hour is 0 to 23.
    ConsoleWrite("RFC822 format: " & $oDt.GetAsIso8601("MM/DD/YYYY hh:mm:ss",$bLocalDateTime) & @CRLF)

    $i = $i + 1
Wend

ConsoleWrite("Success." & @CRLF)