j'ai un programme qui plante au bout de 22j environ (je suis en train de tester mais c'est long

J'ai un calcul pour connaître le UPTIME mais je voulait valider avec vous s'il n'y a pas d'autres solutions plus élégantes.
Mon objectif est un affichage de la forme (en anglais) : 2y 11m 30j and 05h36
Voici mon code actuel (que je compile en 32 bits don un integer = 4 oct)
Code : Tout sélectionner
Procedure DisplayUptime()
utime.q = Date()-uptime
yt = utime/31536000
mt = (utime-31536000*yt)/2635200
dt = (utime-2635200*mt)/86400
a$="UpTime : "+Str(yt)+"y "+Str(mt)+"m "+Str(dt)+"d and "+FormatDate("%hh:%ii:%ss",utime)
StatusBarText(#StatusBar_0, 0, a$)
StatusBarText(#StatusBar_0, 5, FormatDate("%hh:%ii:%ss",Date()))
EndProcedure