Page 1 sur 1
[Func] _DateEnClair (Donne la date en clair sous conditions)
Posté : jeu. 27 oct. 2011 22:52
par Ahbadiane
Bonsoir,
Une petite fonction qui transforme une date en libellé clair si cette date n'est pas trop loin du jour actuel
(L'heure est facultative)
Hypothèse pour les exemples : Nous sommes le 27 octobre 2011
Exemple 1 : la date "27-10-2011 18:44" donnera "Aujourd'hui 18:44"
Exemple 2 : la date "29-10-2011" donnera "Après-demain"
Exemple 3 : la date "23-10-2011" donnera "Dimanche"
Exemple 4 : la date "20-10-2011 18:44" donnera la même valeur "20-10-2011 18:44"
► Afficher le texte
Code : Tout sélectionner
;--------------------------------------------------------------------------------------------------
; Fonction donnant la date en clair si elle est proche du jour actuel
; La date est remplacée par Aujourd'hui Hier, Avant-hier, Demain, Après-demain, lundi, mardi, ....
;
; IN $sDate : Date au format JJ-MM-AAAA[ XX:XX:XX] (Ex1="27-10-2011 18:45", Ex2="23-10-2011 19:30, Ex3="24-10-2011")
; OUT La date éclairsie (si date du jour est 27-10-2011 => Ex1="Aujourd'hui 18:45", Ex2="Dimanche 19:30", Ex3 = "Lundi")
;--------------------------------------------------------------------------------------------------
Func _DateEnClair($sDate)
Local $sJour = StringMid($sDate, 7, 4) & "/" & StringMid($sDate, 4, 2) & "/" & StringMid($sDate, 1, 2) ; YYYY/MM/DD
Local $sHeure = StringMid($sDate, 11)
If Not _DateIsValid($sJour) Then Return $sDate
Local $saJour[7] = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"]
Local $iDelta = _DateDiff('D', _NowCalcDate(), $sJour)
Switch $iDelta
Case 2
Return "Après-demain" & $sHeure
Case 1
Return "Demain" & $sHeure
Case 0
Return "Aujourd'hui" & $sHeure
Case -1
Return "Hier" & $sHeure
Case -2
Return "Avant-hier" & $sHeure
Case -6 To - 3
Return $saJour[_DateToDayOfWeekISO(StringMid($sDate, 7, 4), StringMid($sDate, 4, 2), StringMid($sDate, 1, 2)) -1] & $sHeure
Case Else
Return $sDate
EndSwitch
EndFunc
Re: [Func] _DateEnClair (Donne la date en clair sous conditi
Posté : jeu. 27 oct. 2011 22:53
par Tlem
Déplacement du sujet et modification du titre + coloration.

Re: [Func] _DateEnClair (Donne la date en clair sous conditi
Posté : ven. 28 oct. 2011 11:46
par Ahbadiane
Merci Thierry pour ces rectifications qui rendent le sujet plus clair
Promis, je ferais mieux la prochaine fois

Re: [Func] _DateEnClair (Donne la date en clair sous conditi
Posté : ven. 28 oct. 2011 14:41
par Tlem
N'oubliez pas que la coloration syntaxique du code est réservée aux forums :
