Titre: [JAVA] Comparer 2 dates Posté par: jpdelx sur 05 Décembre 2009 à 20:40:44 Bonjour
Citation: ... Ce que je veux faire donc c'est récupérer une Chaine contenant une date, la convertir au format Date pour pouvoir ensuite faire des comparaisons avec la date du jour (date1.before(date2) etc...) ... Pour les dates voici les références que j'utilise : http://www.java2s.com/Code/JavaAPI/java.text/DateFormatparseStringdateString.htm Par exemple : Code: // MainClass.java import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; public class MainClass { public static void main(String[] a) throws Exception{ DateFormat df = new SimpleDateFormat ("yyyy-MM-dd"); Date d1 = df.parse("2001-01-01"); Date d2 = df.parse("2000-01-01"); String relation="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; if (d1.equals(d2)) relation = "the same date as"; else if (d1.before(d2)) relation = "before"; else if (d1.after(d2)) relation = "after"; System.out.println(d1 + " is " + relation + ' ' + d2); } } @lpf Titre: [JAVA] Comparer 2 dates Posté par: jpdelx sur 06 Décembre 2009 à 07:49:36 Bonjour
Autre lien -> http://javatechniques.com/blog/dateformat-and-simpledateformat-examples/ Pour un bon fonctionnement du format "EEE MMM dd HH:mm:ss zzz yyyy", il faut préciser une date Locale en US ! Citation de: www.laltruiste.com La classe Locale représente une région culturelle, politique ou géographique. Une opération qui requiert un objet Locale pour exécuter sa tâche est appelé locale-sensitive et l'utilise pour adapter l'information pour l'utilisateur. Par exemple, l'affichage d'un nombre est une opération locale-sensitive puisqu'il devrait être formaté selon l'environnement géographique et culturel de l'utilisateur. -> http://java.sun.com/j2se/1.4.2/docs/api/java/util/Locale.html -> http://java.sun.com/developer/technicalArticles/J2SE/locale/ (http://jpdelx2009.free.fr/JAVA_FormatDate_token.png) Exemple : Code: import java.text.DateFormat; import java.text.SimpleDateFormat; import java.text.ParseException; import java.util.Date; import java.util.Locale; public class DateFormatExample4 { public static void main(String[] args) { // Make a new Date object. It will be initialized to the // current time. Date now = new Date(); // Print the result of toString() String dateString = now.toString(); System.out.println(" 1. " + dateString); // Make a SimpleDateFormat for toString()'s output. This // has short (text) date, a space, short (text) month, a space, // 2-digit date, a space, hour (0-23), minute, second, a space, // short timezone, a final space, and a long year. SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy",Locale.US); // See if we can parse the output of Date.toString() try { Date parsed = format.parse(dateString); System.out.println(" 2. " + parsed.toString()); } catch(ParseException pe) { System.out.println("ERROR: Cannot parse \"" + dateString + "\""); } // Print the result of formatting the now Date to see if the result // is the same as the output of toString() System.out.println(" 3. " + format.format(now)); } } @lpf
e-Babillard - plateforme pédagogique interactive | Propulsé par SMF 1.0.6 modifié par jpdelx.
© 2001-2005, Lewis Media. Tous droits réservés. |