[JAVA]Afficher la date

Résolu
Bonjour
voila j'ai un pb a la compilation de mon code. Je suis débutant en java et je voudrai juste réaliser un programme qui me permette d'afficher la date, voici mon code:
import javax.swing.*;
import java.util.*;
import java.text.*;


class Horloge {

	private GregorianCalendar calendar;
	private Date time;
	private String message;
	

	public Horloge() {

		calendar = new GregorianCalendar();
		time = new Date();
		calendar.setTime(time);
		message = toString(calendar);
		JOptionPane.showMessageDialog(null, message);
	}

	public String toString(GregorianCalendar date) {

		String df = DateFormat.format(date);
		return df;
	}
}


public class HorlogeTest {

	public static void main(String [] args) {

		Horloge monHorloge = new Horloge();
	}
}


Le message que j'ai a la compilation est le suivant:
non static method format(java.lang.Object) cannot be referenced from a static context
String df = DateFormat.format(date);

Si vous avez des conseils a me donner pour mon code je sui preneur aussi.
Merci

15 réponses

  1. salut

    est ce que quelqu'un peut m'aider .

    je veux un programme java qui me permet de recuperer la date de création d'un repertoire.

    et je veux aussi un petit programme qui me permet de convertir
    un string par exemple "01.02.2007" en date.*

    svp c urgent je suis coincé ca fait 3 jours.
    merci
    12
    1. slt c trs simple tu n as qu instancier la classe DATE de cette facon
      Date d=new Date();
      et bien sur tu implemente le paquetage java.utile.Date;
      ou java.utile.*;
      3
      1. import javax.swing.*;
        import java.util.*;
        import java.text.*;
        
        public class Horloge {
        
        	private GregorianCalendar calendar;
        
        	private Date time;
        
        	public Horloge() {
        		calendar = (GregorianCalendar) GregorianCalendar.getInstance();
        		time = calendar.getTime();
        		SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
        		String formattedDate = formatter.format(time);
        		JOptionPane.showMessageDialog(null, formattedDate);
        	}
        
        	public static void main(String[] args) {
        
        		Horloge monHorloge = new Horloge();
        	}
        }


        ;-)
        Hacktrack
        4
        1. Hello!!

          Bon pour formater une date, il faut utiliser une classe plus spécialisée comme : SimpleDateFormat. En gros :
          SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
          String monHeure = sdf.format(new Date());
          

          Voila!

          A plouche
          --
          Kciop
          1
          1. Ouai je crois que je vai faire autrement, par contre g plus de messages a la compilation mais a l'execution maintenant enfin je vai changé de stratégie.. Merci en tou k
            1
            1. Contributeur
              Ben si tu fais ta propre classe Date, moi c'est ce que je fais généralement.
              1
              1. je vai essayer et je revient mais c tjrs la méthode format qui est utilisé. Y a pas d'autre façon de passé une date en string?
                1
                1. Contributeur
                  Utilise voir ca dans ta méthode toString :
                  myString = DateFormat.getDateInstance().format(myDate);
                  
                  6
                  1. Contributeur
                    bon bon... réfléchissons !
                    1
                    1. Contributeur
                      Ah !! ah !, mais bien sur, essai de mettre ta classe qui lance le main dans un fichier à part et di moi les changements.

                      ++
                      1
                      1. Contributeur
                        Ah non , oulala, merci mono, je me suis trompé en fait, pour parer à cettte drolerie, j'ai fais une classe à part qui n'a que le main et qui lance la méthode new de la classe visée :
                        Ce qui donne pour toi (public) (a c'qu'on peut s'marer quand même!) david :

                        euh.. oups, j'ai pas vu que c'est déjà fais ! (On sm'arre pas Mono stp merci ;) )

                        Ah ba la, je sais pas ne fait ! Qqun de l'aide !!

                        ps : Au fait Mono, je viens de trouver mon erreur dans mon prog !!! ouhou ! Manque de bol, yen a une autre maitenant ! (Comme d'ab tu m'dira).

                        Bon, ben j'essaie de trouver pkoi ca marche pas.
                        1
                        1. Contributeur
                          Oui,tu crois que j'ai fais comment pour ...
                          euh attend je vérifie ca !
                          1
                          1. kij_82 ty'es sur qu'un main non static ca compile??
                            1
                            1. Contributeur
                              J'imagine que tu appelle cette méthode dans ton main, ou une méthode déclarée en static, mais dans ce cas la, toute les méthode ou objets auquels tu fais référence dans cette méthode static doivent égaalement être static, ce qui n'est pas le cas pour ta méthode format !
                              Il faut que tu oete le "static " de ton main, et ca devrait alez.

                              ++
                              1