[Isis-fish-user] DateConverter
Bonjour à tous, Je souhaiterais convertir un mois et une année en un objet de classe Date sous ISIS. J'imagine qu'il faut utiliser DateConverter (?), mais la doc n'est pas très explicite pour moi, qui suis novice dans l'utilisation de Java. Une suggestion et/ou un exemple d'utilisation seraient très appréciés. D'avance merci Paul -- Paul Marchal IFREMER DOP/DHMMN 150, Quai Gambetta BP 699 62321 Boulogne sur mer FRANCE Tel: (+33) 321 99 56 86 Fax: (+33) 321 99 56 01 Mail: paul.marchal@ifremer.fr
Salut Paul, je ne connais pas DateConverter, c est pour ça que j attendais un peu de voir si qqn d'autre savait ça... ce que j aurais fait : si tu as l'objet mois (month) tu récupères son numéro : int numMois = month.getMonthNumber() ; pour l'année je sais pas trop trop ... c'est un objet année (j'en ai jamais rencontré) ou un entier y égal au numéro de l'année ? dans le deuxième cas y'a pu qu'à faire : int d = 12*y + numMois ; Date date = new Date(d) ; si tu connais la date (par exemple 32) et que tu veux créer l objet date correspondant : Date date = new Date(32) ; et tu auras accès au mois et à l'année : date.getMonth() -> Month SEPTEMBER (Month.getMonthNumber() = 8 , java commence à compter à 0 et non à 1) date.getYear() -> int 2 (3ème année de simu) mais y'a probablement plus joli... (les autres ???) Dans quel contexte as tu une année et un mois et pas de date ? Sinon ça a marché le debuguage de ta règle ? n'hésite pas à demander. a++ Paul MARCHAL a écrit :
Bonjour à tous,
Je souhaiterais convertir un mois et une année en un objet de classe Date sous ISIS.
J'imagine qu'il faut utiliser DateConverter (?), mais la doc n'est pas très explicite pour moi, qui suis novice dans l'utilisation de Java.
Une suggestion et/ou un exemple d'utilisation seraient très appréciés.
D'avance merci
Paul
-- Sigrid LEHUTA ~ ><> ~ Doctorante Département Ecologie et Modèles pour l'Halieutique IFREMER, rue de l'ile d'Yeu BP 21105 44311 Nantes Cedex 03 Tél : +33 (0)2 40 37 41 65
On Wed, 17 Sep 2008 14:32:39 +0200 Sigrid LEHUTA <Sigrid.Lehuta@ifremer.fr> wrote:
mais y'a probablement plus joli... (les autres ???)
C parfait, tu as tout bon. (DateConverter est fait pour autre chose normalement en tant qu'utilisateur vous ne devriez pas en avoir besoin). Il est vrai qu'avec un constructeur Date(month, annee) se serait plus simple :). Si jamais je vois arriver la demande dans les features request ca arrivera sans doute dans la prochaine version :). -- Benjamin -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii
Merci Sigrid et Benjamin. En fait, si je comprends bien, jan 0 c'est 0, fev 0, c'est 1 etc. Je vais essayer la première solution. Sinon, j'ai passé à peu près une semaine à débugger le prg (si Stéphanie et toi n'aviez pas initié le process, j'y serais sans doute encore). J'ai dû en particulier contourner quelques pbs (e.g. HashMap ne pouvait apparemment pas associer une key à un double) et revoir un peu la manière d'implémenter les règles. En fait j'ai laissé tomber HashMap (qui commençait à m'énerver) pour une solution beaucoup moins élégante. Enfin bon, le prg est bourré de "println" mais a l'air de tourner et de fournir des résultats cohérents. Brèfle, je suis en train de lancer des simulations maintenat, un peu à la bourre. Je vous envoie un draft de la communication vendredi, ça va être chaud! A la semaine prochaine Paul Sigrid LEHUTA a écrit :
Salut Paul, je ne connais pas DateConverter, c est pour ça que j attendais un peu de voir si qqn d'autre savait ça... ce que j aurais fait : si tu as l'objet mois (month) tu récupères son numéro : int numMois = month.getMonthNumber() ;
pour l'année je sais pas trop trop ... c'est un objet année (j'en ai jamais rencontré) ou un entier y égal au numéro de l'année ? dans le deuxième cas y'a pu qu'à faire :
int d = 12*y + numMois ; Date date = new Date(d) ;
si tu connais la date (par exemple 32) et que tu veux créer l objet date correspondant : Date date = new Date(32) ; et tu auras accès au mois et à l'année : date.getMonth() -> Month SEPTEMBER (Month.getMonthNumber() = 8 , java commence à compter à 0 et non à 1) date.getYear() -> int 2 (3ème année de simu)
mais y'a probablement plus joli... (les autres ???) Dans quel contexte as tu une année et un mois et pas de date ?
Sinon ça a marché le debuguage de ta règle ? n'hésite pas à demander. a++
Paul MARCHAL a écrit :
Bonjour à tous,
Je souhaiterais convertir un mois et une année en un objet de classe Date sous ISIS.
J'imagine qu'il faut utiliser DateConverter (?), mais la doc n'est pas très explicite pour moi, qui suis novice dans l'utilisation de Java.
Une suggestion et/ou un exemple d'utilisation seraient très appréciés.
D'avance merci
Paul
-- Paul Marchal IFREMER DOP/DHMMN 150, Quai Gambetta BP 699 62321 Boulogne sur mer FRANCE Tel: (+33) 321 99 56 86 Fax: (+33) 321 99 56 01 Mail: paul.marchal@ifremer.fr
On Wed, 17 Sep 2008 17:01:45 +0200 Paul MARCHAL <Paul.Marchal@ifremer.fr> wrote:
En fait j'ai laissé tomber HashMap (qui commençait à m'énerver)
Il ne faut surtout pas hesiter a poser des questions on est la pour ca :). Surtout si ca peut faire gagner quelques heures d'arrachage de cheveux. -- Benjamin -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii
Bonjour Benjamin, Merci pour ta prévenance. A vrai dire, j'ai justement un problème, de nature différente de celui évoqué ci-dessous. Voici: plus je lance de simulations, et plus elles prennent de temps, jusqu'au point où ma capacité de mémoire est excédée, causant l'arrêt du programme. La seule solution que j'ai trouvée pour l'instant et d'arrêter ISIS entre 2 simulations. J'imagine que la mémoire n'est pas complètement restaurée à la fin d'une simulation et je suis preneur de tes suggestions pour y remédier. D'avance merci Paul Benjamin POUSSIN a écrit :
On Wed, 17 Sep 2008 17:01:45 +0200 Paul MARCHAL <Paul.Marchal@ifremer.fr> wrote:
En fait j'ai laissé tomber HashMap (qui commençait à m'énerver)
Il ne faut surtout pas hesiter a poser des questions on est la pour ca :). Surtout si ca peut faire gagner quelques heures d'arrachage de cheveux.
-- Benjamin -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii _______________________________________________ Isis-fish-user mailing list Isis-fish-user@lists.labs.libre-entreprise.org http://lists.labs.libre-entreprise.org/mailman/listinfo/isis-fish-user
-- Paul Marchal IFREMER DOP/DHMMN 150, Quai Gambetta BP 699 62321 Boulogne sur mer FRANCE Tel: (+33) 321 99 56 86 Fax: (+33) 321 99 56 01 Mail: paul.marchal@ifremer.fr
On Thu, 18 Sep 2008 09:37:29 +0200 Paul MARCHAL <Paul.Marchal@ifremer.fr> wrote:
Bonjour Benjamin,
Merci pour ta prévenance. A vrai dire, j'ai justement un problème, de nature différente de celui évoqué ci-dessous. Voici: plus je lance de simulations, et plus elles prennent de temps, jusqu'au point où ma capacité de mémoire est excédée, causant l'arrêt du programme. La seule solution que j'ai trouvée pour l'instant et d'arrêter ISIS entre 2 simulations. J'imagine que la mémoire n'est pas complètement restaurée à la fin d'une simulation et je suis preneur de tes suggestions pour y remédier.
Bonjour, Oui, curieusement, il semble y avoir un probleme de memory leak dans isis, mais en developpement je n'arrive pas a le reproduire (il me libere completement la memoire chez moi). Dans la version 3.2, le lancement de simulation a ete completement reecrit, peut-etre que le memory leak disparaitra avec. Sinon toujours dans cette version, je suis en train de permettre le lancement de simulation dans un process externe, ce qui veut dire que le process isis que tu lances au depart ne fait pas les simulations et donc n'aura pas de probleme de consommation memoire augmentant avec le nombre de simulations. Desole, de ne pouvoir t'apporter de solution miracle :( j'espere sortir cette version 3 stable ce mois-ci ou au pire tout debut du mois prochain. -- Benjamin -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii
participants (3)
-
Benjamin POUSSIN -
Paul MARCHAL -
Sigrid LEHUTA