Page 1 sur 1

[Func] Trouver le quantième jour de la semaine du mois

Posté : sam. 17 mars 2012 18:42
par mikell
Fonction issue de ce topic http://www.autoitscript.fr/forum/viewto ... f=3&t=9516

Donne le numéro (rang) d'un jour donné dans le mois (par exemple : 2ème lundi du mois)
En cas d'échanges culturels le nom de la fonction peut être modifié

Code : Tout sélectionner

; $myday = _ZisDayRangeInZeMonth("17/03/2012")
$myday = _ZisDayRangeInZeMonth(@MDAY &"/"& @MON &"/"& @YEAR)

MsgBox(32, "Info", "Ce " & $myday[0] & " est le " & $myday[1] & $myday[0] & " du mois ")


Func _ZisDayRangeInZeMonth($date)
Local $elts = StringSplit($date, "/")
Local $res[2]
   Local Const $aDayOfWeek[8] = ["", "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"]
    Local $i_aFactor = Int((14 - $elts[2]) / 12)
    Local $i_yFactor = $elts[3] - $i_aFactor
    Local $i_mFactor = $elts[2] + (12 * $i_aFactor) - 2
    Local $iDayNum = Mod($elts[1]+ $i_yFactor + Int($i_yFactor / 4) - Int($i_yFactor / 100) _ 
        + Int($i_yFactor / 400) + Int((31 * $i_mFactor) / 12), 7)
   $res[0] = $aDayOfWeek[$iDayNum + 1]
   Local Const $zisweekrangeinzemonth = Ceiling($elts[1]/7)
   Local $quant = " ème "
   If $zisweekrangeinzemonth = 1 Then $quant = " er "
   $res[1] = $zisweekrangeinzemonth & $quant
 Return $res
EndFunc

Re: [Func] Trouver le quantième jour de la semaine du mois

Posté : sam. 17 mars 2012 19:47
par jl56
Bonjour

Superbe et bravo

je suis née le 4 éme Mercredi du mois

J'ai réalisé plusieurs scripts de sauvegarde avec des outils standard comme ntbackup, robocopy etc.
Cette fonction me permettra de choisir de lancer une sauvegarde tous les 1er et 3éme samedi, par exemple, comme le font des logiciels plus évolués.


Merci

A+ JL56