voila un exemple de transtypage de long en int qui ne devrait pas créer de
problème car les grandeurs à manier sont petites (différence en jours entre
2 dates).
Le résultat varie selon la façon d'écrire.
Exemple dessous : nombre de jours entre le 20 décembre 2011 et le 14 février
2012 doit être de 56 et on trouve 6
Si on remplace la ligne du RETURN de la méthode differenceJours par les 2
lignes de commentaires au dessus, ça marche, résultat 36.
Pourquoi ça coince dans un cas et pas dans l'autre ?
Je donne ma langue au chat.
A+
static int differenceJours(String jour1, String jour2){
//calcule nombre de jour entre 2 dates codées en String AAAA-MM-JJ
long nbrJours = 0;
Date date1 = null;
Date date2 = null;
SimpleDateFormat monFormat = new SimpleDateFormat("yyyy-MM-dd");
try{// le format et la validité des dates a été vérifié avant
date1 = monFormat.parse(jour1);
date2 = monFormat.parse(jour2);
}
catch(ParseException e){}
//nbrJours = ( date2.getTime()-date1.getTime() ) / (1000*60*60*24);
//return (int)nbrJours;
return (int)( date2.getTime()-date1.getTime() ) / (1000*60*60*24);
}//fin differenceJours
public static void main(String[] args)
int nombre = differenceJours("2011-12-20","2012-02-14");
System.out.println("nombre de jour entre les dates = "+nombre);
}
}
--
Yvon
http://perso.numericable.fr/vertgalant/
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Yvon
Yvon wrote:
Bonsoir
voila un exemple de transtypage de long en int qui ne devrait pas créer de problème car les grandeurs à manier sont petites (différence en jours entre 2 dates). Le résultat varie selon la façon d'écrire. Exemple dessous : nombre de jours entre le 20 décembre 2011 et le 14 février 2012 doit être de 56 et on trouve 6 Si on remplace la ligne du RETURN de la méthode differenceJours par les 2 lignes de commentaires au dessus, ça marche, résultat 36.
Pourquoi ça coince dans un cas et pas dans l'autre ? Je donne ma langue au chat. A+
static int differenceJours(String jour1, String jour2){ //calcule nombre de jour entre 2 dates codées en String AAAA-MM-JJ long nbrJours = 0; Date date1 = null; Date date2 = null; SimpleDateFormat monFormat = new SimpleDateFormat("yyyy-MM-dd"); try{// le format et la validité des dates a été vérifié avant date1 = monFormat.parse(jour1); date2 = monFormat.parse(jour2); } catch(ParseException e){} //nbrJours = ( date2.getTime()-date1.getTime() ) / (1000*60*60*24); //return (int)nbrJours; return (int)( date2.getTime()-date1.getTime() ) / (1000*60*60*24); }//fin differenceJours
public static void main(String[] args) int nombre = differenceJours("2011-12-20","2012-02-14"); System.out.println("nombre de jour entre les dates = "+nombre); } }
Y a une faute de frappe. Quand ça marche le bon résultat est 56 !! -- Yvon http://perso.numericable.fr/vertgalant/
Yvon wrote:
Bonsoir
voila un exemple de transtypage de long en int qui ne devrait pas créer de
problème car les grandeurs à manier sont petites (différence en jours
entre 2 dates).
Le résultat varie selon la façon d'écrire.
Exemple dessous : nombre de jours entre le 20 décembre 2011 et le 14
février 2012 doit être de 56 et on trouve 6
Si on remplace la ligne du RETURN de la méthode differenceJours par les 2
lignes de commentaires au dessus, ça marche, résultat 36.
Pourquoi ça coince dans un cas et pas dans l'autre ?
Je donne ma langue au chat.
A+
static int differenceJours(String jour1, String jour2){
//calcule nombre de jour entre 2 dates codées en String AAAA-MM-JJ
long nbrJours = 0;
Date date1 = null;
Date date2 = null;
SimpleDateFormat monFormat = new SimpleDateFormat("yyyy-MM-dd");
try{// le format et la validité des dates a été vérifié avant
date1 = monFormat.parse(jour1);
date2 = monFormat.parse(jour2);
}
catch(ParseException e){}
//nbrJours = ( date2.getTime()-date1.getTime() ) / (1000*60*60*24);
//return (int)nbrJours;
return (int)( date2.getTime()-date1.getTime() ) / (1000*60*60*24);
}//fin differenceJours
public static void main(String[] args)
int nombre = differenceJours("2011-12-20","2012-02-14");
System.out.println("nombre de jour entre les dates = "+nombre);
}
}
Y a une faute de frappe.
Quand ça marche le bon résultat est 56 !!
--
Yvon
http://perso.numericable.fr/vertgalant/
voila un exemple de transtypage de long en int qui ne devrait pas créer de problème car les grandeurs à manier sont petites (différence en jours entre 2 dates). Le résultat varie selon la façon d'écrire. Exemple dessous : nombre de jours entre le 20 décembre 2011 et le 14 février 2012 doit être de 56 et on trouve 6 Si on remplace la ligne du RETURN de la méthode differenceJours par les 2 lignes de commentaires au dessus, ça marche, résultat 36.
Pourquoi ça coince dans un cas et pas dans l'autre ? Je donne ma langue au chat. A+
static int differenceJours(String jour1, String jour2){ //calcule nombre de jour entre 2 dates codées en String AAAA-MM-JJ long nbrJours = 0; Date date1 = null; Date date2 = null; SimpleDateFormat monFormat = new SimpleDateFormat("yyyy-MM-dd"); try{// le format et la validité des dates a été vérifié avant date1 = monFormat.parse(jour1); date2 = monFormat.parse(jour2); } catch(ParseException e){} //nbrJours = ( date2.getTime()-date1.getTime() ) / (1000*60*60*24); //return (int)nbrJours; return (int)( date2.getTime()-date1.getTime() ) / (1000*60*60*24); }//fin differenceJours
public static void main(String[] args) int nombre = differenceJours("2011-12-20","2012-02-14"); System.out.println("nombre de jour entre les dates = "+nombre); } }
Y a une faute de frappe. Quand ça marche le bon résultat est 56 !! -- Yvon http://perso.numericable.fr/vertgalant/
Yliur
Le Thu, 16 Feb 2012 20:01:24 +0100 Yvon a écrit :
Bonsoir
voila un exemple de transtypage de long en int qui ne devrait pas créer de problème car les grandeurs à manier sont petites (différence en jours entre 2 dates). Le résultat varie selon la façon d'écrire. Exemple dessous : nombre de jours entre le 20 décembre 2011 et le 14 février 2012 doit être de 56 et on trouve 6 Si on remplace la ligne du RETURN de la méthode differenceJours par les 2 lignes de commentaires au dessus, ça marche, résultat 36.
36 ou 56 finalement ;) ?
Pourquoi ça coince dans un cas et pas dans l'autre ? Je donne ma langue au chat. A+
Attention, l'opérateur de transtypage est prioritaire sur la division me semble-t-il. Donc il faut écrire plutôt (int) (( date2.getTime()-date1.getTime() ) / (1000*60*60*24)); ^ ^
Le Thu, 16 Feb 2012 20:01:24 +0100
Yvon <vertgalant@numericable.fr> a écrit :
Bonsoir
voila un exemple de transtypage de long en int qui ne devrait pas
créer de problème car les grandeurs à manier sont petites (différence
en jours entre 2 dates).
Le résultat varie selon la façon d'écrire.
Exemple dessous : nombre de jours entre le 20 décembre 2011 et le 14
février 2012 doit être de 56 et on trouve 6
Si on remplace la ligne du RETURN de la méthode differenceJours par
les 2 lignes de commentaires au dessus, ça marche, résultat 36.
36 ou 56 finalement ;) ?
Pourquoi ça coince dans un cas et pas dans l'autre ?
Je donne ma langue au chat.
A+
Attention, l'opérateur de transtypage est prioritaire sur la division
me semble-t-il. Donc il faut écrire plutôt
(int) (( date2.getTime()-date1.getTime() ) / (1000*60*60*24));
^ ^
voila un exemple de transtypage de long en int qui ne devrait pas créer de problème car les grandeurs à manier sont petites (différence en jours entre 2 dates). Le résultat varie selon la façon d'écrire. Exemple dessous : nombre de jours entre le 20 décembre 2011 et le 14 février 2012 doit être de 56 et on trouve 6 Si on remplace la ligne du RETURN de la méthode differenceJours par les 2 lignes de commentaires au dessus, ça marche, résultat 36.
36 ou 56 finalement ;) ?
Pourquoi ça coince dans un cas et pas dans l'autre ? Je donne ma langue au chat. A+
Attention, l'opérateur de transtypage est prioritaire sur la division me semble-t-il. Donc il faut écrire plutôt (int) (( date2.getTime()-date1.getTime() ) / (1000*60*60*24)); ^ ^
Yvon
Yliur wrote:
Le Thu, 16 Feb 2012 20:01:24 +0100 Yvon a écrit :
Bonsoir
voila un exemple de transtypage de long en int qui ne devrait pas créer de problème car les grandeurs à manier sont petites (différence en jours entre 2 dates). Le résultat varie selon la façon d'écrire. Exemple dessous : nombre de jours entre le 20 décembre 2011 et le 14 février 2012 doit être de 56 et on trouve 6 Si on remplace la ligne du RETURN de la méthode differenceJours par les 2 lignes de commentaires au dessus, ça marche, résultat 36.
36 ou 56 finalement ;) ?
Pourquoi ça coince dans un cas et pas dans l'autre ? Je donne ma langue au chat. A+
Attention, l'opérateur de transtypage est prioritaire sur la division me semble-t-il. Donc il faut écrire plutôt (int) (( date2.getTime()-date1.getTime() ) / (1000*60*60*24)); ^ ^
Exact ! ça marche. Merci, je ne mourrais pas idiot ! -- Yvon http://perso.numericable.fr/vertgalant/
Yliur wrote:
Le Thu, 16 Feb 2012 20:01:24 +0100
Yvon <vertgalant@numericable.fr> a écrit :
Bonsoir
voila un exemple de transtypage de long en int qui ne devrait pas
créer de problème car les grandeurs à manier sont petites (différence
en jours entre 2 dates).
Le résultat varie selon la façon d'écrire.
Exemple dessous : nombre de jours entre le 20 décembre 2011 et le 14
février 2012 doit être de 56 et on trouve 6
Si on remplace la ligne du RETURN de la méthode differenceJours par
les 2 lignes de commentaires au dessus, ça marche, résultat 36.
36 ou 56 finalement ;) ?
Pourquoi ça coince dans un cas et pas dans l'autre ?
Je donne ma langue au chat.
A+
Attention, l'opérateur de transtypage est prioritaire sur la division
me semble-t-il. Donc il faut écrire plutôt
(int) (( date2.getTime()-date1.getTime() ) / (1000*60*60*24));
^ ^
Exact ! ça marche.
Merci, je ne mourrais pas idiot !
--
Yvon
http://perso.numericable.fr/vertgalant/
voila un exemple de transtypage de long en int qui ne devrait pas créer de problème car les grandeurs à manier sont petites (différence en jours entre 2 dates). Le résultat varie selon la façon d'écrire. Exemple dessous : nombre de jours entre le 20 décembre 2011 et le 14 février 2012 doit être de 56 et on trouve 6 Si on remplace la ligne du RETURN de la méthode differenceJours par les 2 lignes de commentaires au dessus, ça marche, résultat 36.
36 ou 56 finalement ;) ?
Pourquoi ça coince dans un cas et pas dans l'autre ? Je donne ma langue au chat. A+
Attention, l'opérateur de transtypage est prioritaire sur la division me semble-t-il. Donc il faut écrire plutôt (int) (( date2.getTime()-date1.getTime() ) / (1000*60*60*24)); ^ ^
Exact ! ça marche. Merci, je ne mourrais pas idiot ! -- Yvon http://perso.numericable.fr/vertgalant/