Page 1 sur 1

[R] Temps entre deux date

Posté : mer. 21 janv. 2009 22:15
par Iste
Salutations ici,
Je voulais savoir si il était possible de recuperer l'info d'un GuiCtrlCreateDate autrement que par du text, pour faire une comparaison entre deux date.
En gros, j'aimerais entrer une date de naissance et une autre date afin d'obtenir un age, mais GUICtrlRead me retourne une chaine de caracteres :(

Voila, merci d'avance ^^

Edit : j'aimerais avoir les années/mois/jours soustré directement afin d'avoir un age humainement compréenssible :
année1-année2 = xans
mois1-mois2 = xmois
jours1-jours2 = xjours

Mais aussi la difference entre les deux dates en jour, afin de calculer l'age en nombre de semaines !

Edit2: encore une question, que entrer dans un GUICtrlSetData pour choisir une date ? (aujourd'hui, ou une date prédéfinit)

Re: [..] Temps entre deux date

Posté : jeu. 22 janv. 2009 00:01
par Tlem
1 - Par quoi d'autre voulez-vous remplacer l'info du GUICtrlCreateDate ?
La date est écrite, donc je ne vois pas ce que vous attendez d'autre ...

2 - Pour calculer ce genre de chose, il faut tout simplement décomposer les dates en plusieurs variables (Jour, Mois, Année) puis utiliser la fonction _DateDiff comme il ce doit en mettant en forme les date pour calculer la différence.

3 - Pourquoi voulez-vous utiliser quelque chose en particulier pour entrer une date dans un GUICtrlSetData alors que vous avez la fonction GUICtrlCreateDate qui est faite pour ça ... :shock:

Re: [..] Temps entre deux date

Posté : jeu. 22 janv. 2009 00:18
par Iste
roh ben, je voulais juste apprendre a utiliser les date, pas demander a ce qu'on me fasse tout ^^ mais bon, ca revient au meme comme je suis un peu totalement perdu...
Donc je vais tout expliquer bien :

En fait, il me fallait un programme pour enter la date de naissance d'un de mes rat, et qu'il me resorte son age accutel (en "anné/mois/jour", mais aussi en nombre de semaines). Seulement, comme je voulais généraliser le programme, voila a quoi cela devait ressembler :
autoitexemple.JPG
autoitexemple.JPG (7.02 Kio) Vu 4296 fois
Donc choix d'une date (ou d'un rat dont la date serait deja entré)
Choix d'une deuxieme date (un bouton "aujourd'hui" pour reinitialiser facilement la seconde date)
l'age années/mois/jours - l'age semaine/jours

M'aurait aussi fallu un bouton pour ajouter des rats prédéfinit.


---

Je sais a peut pre tout faire, si ce n'est :
-recuperer les date dans un format exploitable
-modifier une date d'un qualendrier
(la doc d'autoit dit :"For Date : date or time depending the style of the control" :/ ben merci... ca m'aide beaucoup)

J'ai entendu dire que en informatique, les dates étaient tout sous la forme d'un nombre de seconde depuis heu... 1970 ou je sais plus quoi (et que ca fera un bug de l'an 2000 en 2034 ou quelque chose du genre). Autoit ne fonctionne pas ainsi ?

Voila, encore merci de votre aide.


edit : j'ai decouvert qu'il fallait entrer les dates au format américain @YEAR&"/"&@MON&"/"&@MDAY

edit2: bon ben, j'ai tout fait, me reste plus qu'a trouver comment comparer des date ^^'

Re: [..] Temps entre deux date

Posté : jeu. 22 janv. 2009 20:21
par Iste
Petit up pour une demande qui a changée ;

j'ai maintenant mes deux dates en 3 variables chaqu'une :
(années/mois/jours)
$ca1 $cm1 $cj1 (date de naissance)
$ca2 $cm2 $cj2 (date de comparaison)

donc, comment obtenir le nombres de jour les separant ainsi que la diference en années/mois/jours ?

Merci encore

Edit : je me suis débrouillé avec un

Code : Tout sélectionner

$ca=$ca2-$ca1
$cm=$cm2-$cm1
$cj=$cj2-$cj1
            
If $cj <0 Then
$cj=$cj+30
$cm=$cm-1
EndIf
            
If $cm <0 Then
$cm=$cm+12
$ca=$ca-1
EndIf

GUICtrlSetData ($age, $ca&"an(s) "&$cm&"mois "&$cj&"jour(s)")
 
pour le nombre de temps en années/mois/jours, et un

Code : Tout sélectionner

$nbj=(365*$ca)+(30*$cm)+$cj
GUICtrlSetData ($age2, $cj&" - "&Int($cj/7)&"s")
pour le nombre aproximatif de jours/semaines

Comment avoir le nombre exacte de jours ? je ne voie vraiment pas comment faire:/

Re: [..] Temps entre deux date

Posté : jeu. 22 janv. 2009 21:17
par Tlem
J'aurais pu mâcher le boulot jusqu'au bout, mais bon, il faut bien que je vous en laisse un peux ... :lol:
► Afficher le texteCode
Haaaa, j'aime bien les ptits rats de laboratoire.
Sans eux, nous n'aurions pas grand chose en médoc, crèmes divers, etc ..

Re: [..] Temps entre deux date

Posté : jeu. 22 janv. 2009 21:53
par Iste
Merci bien ^^ je vais regarder ca... longtemps... tres longtemps... enfin, le temps de comprendre quoi :/

pour info, mon code actuel "terminé, mais ca pourrait etre mieux"
► Afficher le texte
edit : correction de "bug" mineur

Re: [..] Temps entre deux date

Posté : jeu. 22 janv. 2009 22:17
par Tlem
Le code que je vous ai donné, est 100% fonctionnel, il ne reste que la partie Rat prédéfinit à compléter.

Pour vous donner la direction, créez un fichier dans ce genre là :

Code : Tout sélectionner

Shaiya#01/07/2008
FLS Laïa#01/08/2008
Nima#01/09/2008
Icône#01/11/2008
Klebox#01/11/2008
Ensuite lisez le dans un tableau (_FileReadToArray ) et utilisez les variables (StringSplit pour séparer les éléments) pour compléter vos champs.

Re: [..] Temps entre deux date

Posté : jeu. 22 janv. 2009 22:26
par Iste
oui, j'ai vu que ca marchait super bien ^^ (j'ai juste posté ce que j'avais deja fait a ce moment là)
j'ai reussit a le comprendre, et la, je suis en train de tout mettre tout beau comme je veux :p

Je pense que je vais m'en sortir

Encore merci pour ce gros coup de main !