Vous n'êtes pas identifié.
c'est impossible Superna, tu n'as droit qu'à 2 octets pour stocker le nombre de jours soit 179 année.
Sinon dans TOUCHE une fois sur la date en faisant "I: Date info" (en appuyant sur I) tu peux aller j'usqu'à l'année 11760552 (qui est bissextile au fait).
Alors 2389 n'est rien pour TOUCHE !! muhuhaha
Hors ligne
L'intérèt ???? MDR
Hors ligne
et non desolé 2072, la date est sur 17bits
essaie de te mettre a FFFF dans les ports 20 et 21 et met l'heure a 23h59 et attends le passage a 24h, .. sur toutche ça reviens a zero mais si tu regarde les ports, le port 22 s'est mis a 1
Mais, j'ai abandonné cette gestion car y'a encore 149 avant que ça serve ... et de plus mon portable nokia ne va que de 1991 a 2090 !
Donc, j'ai finis ma routine (vive le basic de casio !!) qui est hyper stable et les resultats sont corrects, not, j'ai mis 3 jours a la finir !
De plus, des que je peut,je la teste en c (mais ça devrai marcher) et j'ajoute le numero du jours de la semaine et le numero de la semaine come sortie et j'ai aussi fait la routine pour convertir de date a nombre, note que c'est un peu grace a ta routine que j'ai put faire lamienne !
Maintene je suis un pro en année bisex et pas !!
Hors ligne
A rien !
Je pense que d'ici 2159, on changera de date de depart a mon avis !
Hors ligne
Yep, si g mis 1970, c juste que c le standard unix, mais de toute façon c un nombre, on en fait ce qu'on veut.
Hors ligne
SuperNa des nouvelles sur ta fonction ? ca m'interesse pour mon tuto !
Hors ligne
ben, elles sont sorties depuis un bon moment!
je les mets qd meme:
( j'ai rajouté une ligne (tres utile pour moi!) dans celle-ci pour pouvoir obtenir le total en entrant 4 comme parametres de what )
//Retourne la date //what:0=[Jours] 1=[Mois] 2=[annee] 3=[n°jour] 4=[total] //jours:0=[si de la caltos] sinon=[jours ecoules depuis le 1/1/2000] //n°jour:0=Lundi -> 6=Dimanche unsigned short get_date(unsigned char what, unsigned short jours){ unsigned char mois[12]={31,28,31,30,31,30,31,31,30,31,30,31}; unsigned char nyear=0,byear=0,month=0,day=0; if(jours==0){ asm in ax,0x20;jours=_AX;} if(what==4) return jours; day=jours%7+5;if(day>6) day-=7; if(what==3) return day; if(jours>=366){ byear=(((jours-366)/365)/4)+1; nyear=jours/365;} if(what==2) return (2000+nyear); if(nyear%4==0) mois[1]=29; jours-=(nyear*365)+byear; debct: if(jours>=mois[month]){ jours-=mois[month]; month++; goto debct; } if(what==1) return (month+1); return (jours+1); }
//Regle la date //year:[2000;2158] month:[1;12] days:[0;31] //Retourne le nombre de jours depuis 1/1/2000 unsigned short set_date(short year,char month,char days){ unsigned char mois[12]={31,28,31,30,31,30,31,31,30,31,30,31}; unsigned char byear=0; unsigned short total; year-=2000;month--;days--; byear=(year-1)/4; if(year>0) byear++; total=(year*365)+byear; if(year%4==0) mois[1]=29; for(byear=0;byear<month;byear++) total+=mois[byear]; if(days>mois[month]) total+=mois[month]; else total+=days; _AX=total; asm out 0x20,ax;return total;}
Hors ligne