Conversion TimeStamp JJMMAA #Détresse [RESOLU]

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Kerjean
Niveau 1
Niveau 1
Messages : 9
Enregistré le : ven. 02 sept. 2016 19:03
Status : Hors ligne

Conversion TimeStamp JJMMAA #Détresse [RESOLU]

#1

Message par Kerjean »

Bonjour à tous !

Je suis débutant en programmation autoit et (attention question de newbie) je cherche à faire (ou à trouver) une fonction qui me convertisse un timestamp en chaîne JJMMAAA.
J'ai beau chercher et je ne trouve pas alors que ça me semblait être quelque chose d'élémentaire !

L'idéal serait un truc du genre

Dim $date_timeStamp = 1486565692
Dim $date_JJMMAA = convertTimeStamp($date_timeStamp)

Func convertTimeStamp($p_date_timeStamp)
   Local $retour = 00000000
   ;instructions providentielles
   return $retour
EndFunc
Merci beaucoup d'avance pour vos réponses :)
Modifié en dernier par Kerjean le ven. 10 févr. 2017 20:01, modifié 1 fois.
Je suis un Newbie mais j'apprends jour après jour
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: Conversion TimeStamp JJMMAA #Détresse  

#2

Message par Hugues »

Salut,

Regarde ça: Timestamp tuto
Avatar du membre
Kerjean
Niveau 1
Niveau 1
Messages : 9
Enregistré le : ven. 02 sept. 2016 19:03
Status : Hors ligne

Re: Conversion TimeStamp JJMMAA #Détresse

#3

Message par Kerjean »

Impeccable merci beaucoup ! Du coup la fonction qui répond à mon problème est la suivante:
; timeStamp to JJMMAAAA
Func TimeStampToDate($pTimeStamp)
    Local $Day2Add = Int($pTimeStamp / 86400)
    Local $iTimeVal = Mod($pTimeStamp, 86400)
    If $iTimeVal < 0 Then
        $Day2Add -= 1
        $iTimeVal += 86400
    EndIf
    Local $i_wFactor = Int((573371.75 + $Day2Add) / 36524.25)
    Local $i_xFactor = Int($i_wFactor / 4)
    Local $i_bFactor = 2442113 + $Day2Add + $i_wFactor - $i_xFactor
    Local $i_cFactor = Int(($i_bFactor - 122.1) / 365.25)
    Local $i_dFactor = Int(365.25 * $i_cFactor)
    Local $i_eFactor = Int(($i_bFactor - $i_dFactor) / 30.6001)
    Local $asDatePart[3]
    $asDatePart[2] = $i_bFactor - $i_dFactor - Int(30.6001 * $i_eFactor)
    $asDatePart[1] = $i_eFactor - 1 - 12 * ($i_eFactor - 2 >= 13)
    $asDatePart[0] = $i_cFactor - 4716 + ($asDatePart[1] < 3)
    Return StringFormat("%.2d%.2d%.2d",$asDatePart[2], $asDatePart[1], $asDatePart[0])
EndFunc
Je suis un Newbie mais j'apprends jour après jour
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2109
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: Conversion TimeStamp JJMMAA #Détresse [RESOLU]

#4

Message par TommyDDR »

Sinon avec l'UDF Date.au3 présent de base :
#include <Date.au3>

ConsoleWrite(timestampToDate(1487004935) & @CRLF)

Func timestampToDate($timestamp, $gmt = 1)
   Local $dateBase = "1970/01/01"
   Local $date = _DateAdd("s", $timestamp, $dateBase)
   $date = _DateAdd("h", $gmt, $date)
   Local $split = StringSplit($date, "/", 3)
   Return $split[2] & "/" & $split[1] & "/" & $split[0]
EndFunc
A savoir : Le timestamp est le nombre de secondes qui s'est écoulé depuis le 1er Janvier 1970
La fonction ajoute donc le nombre de secondes présent dans le timestamp par rapport au 1er janvier 1970, et ajoute ou retire des heures en fonction du GMT renseigné (En France nous sommes en GMT+1)
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
Kerjean
Niveau 1
Niveau 1
Messages : 9
Enregistré le : ven. 02 sept. 2016 19:03
Status : Hors ligne

Re: Conversion TimeStamp JJMMAA #Détresse [RESOLU]

#5

Message par Kerjean »

Merci Beaucoup TommyDDR !
Je suis un Newbie mais j'apprends jour après jour
Répondre