[R] Temps entre deux date

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

[R] Temps entre deux date

#1

Message 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)
Modifié en dernier par Iste le jeu. 22 janv. 2009 22:27, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Temps entre deux date

#2

Message 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:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Temps entre deux date

#3

Message 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 4030 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 ^^'
Signez ici
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Temps entre deux date

#4

Message 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:/
Signez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Temps entre deux date

#5

Message 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 ..
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Temps entre deux date

#6

Message 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
Signez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Temps entre deux date

#7

Message 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.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Temps entre deux date

#8

Message 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 !
Signez ici
Répondre