[JAVA] Problème de date
Résolu
valentin2703
Messages postés
185
Statut
Membre
-
valentin2703 Messages postés 185 Statut Membre -
valentin2703 Messages postés 185 Statut Membre -
Bonjour,
J'ai un petit problème avec l'utilisation de la Date en java. Alors en faite je sais comment récupérer la date qui m'intéresse avec mon programme Java :
String format = "dd";
SimpleDateFormat formater = new java.text.SimpleDateFormat( format );
Date date = new Date();
System.out.println( formater.format( date ) );
Ce petit bout de code me permet de récupérer le Jours du PC.
Le seul problème c'est que je voudrais qu'une variable jours (Allant de 1 à 90) s'incrémente de 1 à chaque fois qu'il y a un nouveau jours.
Si le programmes tournés en boucle ça ne serait pas trop dur, mais mon programme est démarré à intervalles réguliers (Environ toutes les 5 minutes).
PS : Cette variable jours va me permettre de changer de base de donnée SQL tous les jours (Pour évité une surcharge de cette Base, vu le nombre de valeurs que je doit gérer)
Donc si vous avez des idées, merci de m'aider =)
J'ai un petit problème avec l'utilisation de la Date en java. Alors en faite je sais comment récupérer la date qui m'intéresse avec mon programme Java :
String format = "dd";
SimpleDateFormat formater = new java.text.SimpleDateFormat( format );
Date date = new Date();
System.out.println( formater.format( date ) );
Ce petit bout de code me permet de récupérer le Jours du PC.
Le seul problème c'est que je voudrais qu'une variable jours (Allant de 1 à 90) s'incrémente de 1 à chaque fois qu'il y a un nouveau jours.
Si le programmes tournés en boucle ça ne serait pas trop dur, mais mon programme est démarré à intervalles réguliers (Environ toutes les 5 minutes).
PS : Cette variable jours va me permettre de changer de base de donnée SQL tous les jours (Pour évité une surcharge de cette Base, vu le nombre de valeurs que je doit gérer)
Donc si vous avez des idées, merci de m'aider =)
A voir également:
- [JAVA] Problème de date
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
2 réponses
Un p'ti coup de main ? :D
Je viens aussi d'essayer de stocker la date que je récupère (Au lancement précédent du programme) dans un fichier texte, pour pouvoir la comparer à la valeur qu'on obtient au nouveau lancement du programme. Mais j'ai bien l'impression que ça ne mène à rien :s
Je viens aussi d'essayer de stocker la date que je récupère (Au lancement précédent du programme) dans un fichier texte, pour pouvoir la comparer à la valeur qu'on obtient au nouveau lancement du programme. Mais j'ai bien l'impression que ça ne mène à rien :s
Salut,
pourquoi ne pas récuperer la date du systeme au démarrage de ton programme java,
comme ça quelque soit le jour ou tu démarre ton programme il pointera toujours vers la date du systeme, pas besoin de faire des calculs ni quoi que ce soit et meme si tu ne demarre ton programme qu'apres 20jours il prendra toujours la date du systeme,
Et celà est faisable en utilisant ce bout de code:
java.util.Date uDate = new java.util.Date();
java.sql.Date sDate = new java.sql.Date(System.currentTimeMillis());
/*
* Conversion entre les 2 types de dates
*/
sDate = new java.sql.Date(uDate.getTime());
uDate = new java.util.Date(sDate.getTime());
Essayes le et tiens moi au courant.
pourquoi ne pas récuperer la date du systeme au démarrage de ton programme java,
comme ça quelque soit le jour ou tu démarre ton programme il pointera toujours vers la date du systeme, pas besoin de faire des calculs ni quoi que ce soit et meme si tu ne demarre ton programme qu'apres 20jours il prendra toujours la date du systeme,
Et celà est faisable en utilisant ce bout de code:
java.util.Date uDate = new java.util.Date();
java.sql.Date sDate = new java.sql.Date(System.currentTimeMillis());
/*
* Conversion entre les 2 types de dates
*/
sDate = new java.sql.Date(uDate.getTime());
uDate = new java.util.Date(sDate.getTime());
Essayes le et tiens moi au courant.
Si j'ai bien compris, tes lignes de code vont me permettre de récupérer la date du jours ?
Moi le problème c'est que je ne peut pas créer autan de tables SQL qu'il y a de jours, sinon ça me ferait déjà 365 tables en 1ans ^^.
Le but est donc de faire des tables numérotés de 1 à 90, comme ça je stock mes données sur 3 mois glissants (Si on arrive à 3 mois alors la première valeurs de la première table est effacée)
Moi le problème c'est que je ne peut pas créer autan de tables SQL qu'il y a de jours, sinon ça me ferait déjà 365 tables en 1ans ^^.
Le but est donc de faire des tables numérotés de 1 à 90, comme ça je stock mes données sur 3 mois glissants (Si on arrive à 3 mois alors la première valeurs de la première table est effacée)
tu dis que ton programme dmarreà intervalle régulier (chaque 5min) OK,
ce que tu fais,
tu prend un compteur i = 0
tu prends un variable temporaire, tu lui affectes la valeur de ton jour,
à la prochaine execution de ton programme (tu recupere le plus normalement ta variable date), tu compare la variable temporaire à cette nouvelle variable date,
si c'est egal tu laisse tomber (t'as pas changer de jour), sinon tu incrémente ton compteur i, et tu affecte la nouvelle valeur de date à la variable temporaire
et tu teste la varibale i si elle egale à 90 ou pas
voilà une piste pour faire avancer ton boulot
Il faut bien noter que ce principe marche qaund ton programme demare chaque 5mn sinon il faut changer un peu le principe c'est tous
ce que tu fais,
tu prend un compteur i = 0
tu prends un variable temporaire, tu lui affectes la valeur de ton jour,
à la prochaine execution de ton programme (tu recupere le plus normalement ta variable date), tu compare la variable temporaire à cette nouvelle variable date,
si c'est egal tu laisse tomber (t'as pas changer de jour), sinon tu incrémente ton compteur i, et tu affecte la nouvelle valeur de date à la variable temporaire
et tu teste la varibale i si elle egale à 90 ou pas
voilà une piste pour faire avancer ton boulot
Il faut bien noter que ce principe marche qaund ton programme demare chaque 5mn sinon il faut changer un peu le principe c'est tous
Donc ça donne :
11
Et il faut que sa puisse faire sa tout les jours ^^"
C'est ce que je t'aurais proposé...
Tu peux nous montrer le code de la création avant la sortie du programme et le code de la lecture lors du nouveau lancement ?
Dan
Bien sur je te montre mon code.
J'ai fait quelque chose qui devrai marcher, mais il faut croire que non, vu que ma variable jours ne s'incrémente pas quand l'ancien jours est plus petit que le nouveau (Pour l'instant je test avec des minutes :p)
J'ai bien l'impression que j'ai un problème avec la lecture, parceque toute la partie dans le "while" ne s'exécute pas
import java.util.*; import java.io.*; import java.text.*; public class Test{ public static void main(String[] args){ String filePath = "Date.txt"; PrintWriter ficOut; int jours = 0; String format = "mm"; SimpleDateFormat formater = new java.text.SimpleDateFormat( format ); Date date = new Date(); String a = formater.format(date); int i = Integer.parseInt(a); System.out.println(i); try{ BufferedReader in = new BufferedReader(new FileReader(filePath)); ficOut = new PrintWriter(new BufferedWriter(new FileWriter(filePath))); try{ String line; while((line = in.readLine()) != null){ System.out.println(line); int b = Integer.parseInt(line); if(b < i){ jours++; } } System.out.println(jours); in.close(); ficOut.write(a); ficOut.close(); } catch(IOException e){ System.out.println(e.getMessage()); System.exit(1); } } catch(IOException e){ System.out.println(e.getMessage()); System.exit(1); } } }