-
Création de date
Bonjour,
Je cherche a pourvoir créer une instance de Date qui correspondrait a 21 jours avant la date actuel, c'est jouable avec java.util.Calendar mais malheureusement je crois que gwt n'accepte pas cette classe.
j'aimerai savoir si vous aviez une solution?
merci!
-
Tu es obligé d'utiliser la classe Date aux méthodes dépréciée :( :
http://java.sun.com/javase/6/docs/ap...util/Date.html
static final long MS_PER_DAY = 24 * 3600 * 1000;
Date today = new Date();
long todayInMs = today.getTime();
long delta21DayInMs = 21 * MS_PER_DAY;
Date before21Day = new Date(todayInMs - delta21DayInMs) ;
PS : Après, pour le formatage suivant la timezone, tu as com.google.gwt.i18n.client.DateTimeFormat
http://google-web-toolkit.googlecode...imeFormat.html
-
c'est ce que je redoutais...j'utilisai cette façon de faire!
mais j'espérais trouver quelque chose de plus élégant.....
enfin bon merci!
edit : désolé j'ai oublié de remercier pour le formatage de date...parce que je connaissais déjà! alors merci!
-
Je te conseille de "stocker" tout ton code métier au même endroit, dans la couche service côté serveur.
Tu peux avoir un service de calcul de date côté serveur et tu peux faire des appel asynchrone pour obtenir le résultat de l'opération que tu affiche ensuite avec GWT.
Personnellement j'ai mis en place un appel serveur sur l'ouverture d'un écran. Les informations que je récupère et qui ne change pas sont mis en cache, les infos qui changent sont demandées à chaque fois.
Pour éviter de multiplier les appels au serveur tu peux regrouper les réponses avec des DTO.
Par exemple si tu ouvre un écran qui a besoin de 3 résultats d'opération sur des dates, Tu peux créer un DTO qui contiendra 3 dates. Sur l'ouverture de ton écran tu lance un appel, en attendant la réponse tu affiche une gif animé pour faire patienter l'utilisateur, lorsque tu recois le DTO avec tes 3 dates, hop tu affiche ton écran et tu cache le gif d'attente.
C'est un exemple mais l'idée importante est de ne pas éparpiller ton code métier.
Ici le nombre 21 c'est du code métier.
-
merci :D
j'y avais même pas pensé! :aie: