web-dev-qa-db-fra.com

affiche la date actuelle en java

Je souhaite imprimer la date et l’heure actuelles en Java. C’est le code que j’essaie à partir d’un didacticiel Java:

import Java.util.*;

public class Date {
   public static void main(String args[]) {
       // Instantiate a Date object
       Date date = new Date();

       // display time and date using toString()
       System.out.println(date.toString());
   }
}

Ça compile bien. Mais le résultat donné est:

Date @ 15db9742

Bien que j'attende un résultat comme celui-ci:

Lun 04 mai 09:51:52 CDT 2009

Quel est le problème avec le code?

EDIT: J'ai essayé de renommer la classe .. Le code édité:

import Java.util.*;

public class DateDemo {
   public static void main(String args[]) {
       // Instantiate a Date object
       Date d = new Date();

       // display time and date using toString()
       System.out.println(d.toString());
   }
}

Voici comment j'ai compilé le code et exécuté:

sou @ sou-linux: ~/Bureau/Java $ javac DateDemo.Java

sou @ sou-linux: ~/Bureau/Java $ DateDemo Java

La sortie est:

Date @ 15db9742

14
SouvikMaji

Votre classe est une classe personnalisée qui produit la sortie donnée par Object.toString. Renommez la classe en autre chose que Date afin que Java.util.Date soit correctement importé

15
Reimeus

Vous obtenez la toString() par défaut de Object car vous avez créé votre propre classe nommée Date qui masque la Date importée de Java.util.. Vous pouvez renommer votre classe ou utiliser le nom canonique Java.util.Date like

public static void main(String args[]) {
    Java.util.Date date = new Java.util.Date();
    System.out.println(date);
}

La sortie ici est

Mon Nov 03 10:57:45 EST 2014
7
Elliott Frisch
public static void main(String[] args) {

    DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    //get current date time with Date()
    Date date = new Date();
    System.out.println(dateFormat.format(date));

    //get current date time with Calendar()
    Calendar cal = Calendar.getInstance();
    System.out.println(dateFormat.format(cal.getTime()));

}
6
Ashu Phaugat

Vous ne devez pas utiliser la méthode toString (), car: 

La méthode toString pour la classe Object renvoie une chaîne composée du nom de la classe dont l'objet est une instance, du caractère de signe @ et de la représentation hexadécimale non signée du code de hachage de l'objet. En d'autres termes, cette méthode retourne une chaîne égale à la valeur de:

getClass (). getName () + '@' + Integer.toHexString (hashCode ())

Citation de docs.Oracle: http://docs.Oracle.com/javase/7/docs/api/Java/lang/Object.html ).

La classe Date est conçue pour être utilisée comme tout le monde a répondu. Je voulais juste expliquer/vous donner une référence à pourquoi.

2
Daniel Kvist
import Java.util.Date;
public class Dte {

    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date.toString());
    }
}

Modifiez le nom de la classe Date en Dte ou quelque chose et le code fonctionnera correctement.

Le résultat est: Mon Nov 03 21:27:15 IST 2014

2
vvkkumr

Renommez votre classe de Date en quelque chose d'autre. Ce qui suit fonctionne alors comme prévu:

import Java.util.Date;

public class ImplClass
{
   public static void main(String args[])
   {
       Date date = new Date();

       // display time and date using toString()
       System.out.println(date.toString());
   }

}

La sortie est au format souhaité 

Mon Nov 03 09:49:57 CST 2014
1
Chiseled

Tu peux essayer ça,

import Java.util.Date;

public class CurrentDate
{
    public static void main(String[] args)
    {
        Date currentDate = new Date();      
        System.out.println("Curent Date and Time - " + currentDate.toString());
    }
}

Sortie:

Mon May 04 09:51:52 CDT 2009

Vous pouvez également consulter les liens ci-dessous concernant le formatage de la date et de l'heure. Plutôt utile.

https://docs.Oracle.com/javase/tutorial/datetime/iso/datetime.html

https://docs.Oracle.com/javase/7/docs/api/Java/sql/Date.html

https://www.flowerbrackets.com/date-time-Java-program/

1
Shiva

Vous pouvez garder le code aussi simple que ::

import Java.util.*;
public class Today{
  public static void main(String args[]){
    System.out.println("System Date :: ");
    System.out.println(new Date());
  }
}

Ainsi que changer le nom de la classe à aujourd'hui ou quelque chose d'autre, mais pas la date car c'est un mot clé

1
Saiman Naidu

Votre nom de classe est Date donc

Date date = new Date();

créera un objet de votre classe et lorsque vous appelerez date.toString(), ce sera la méthode par défaut Object.toString().
Donc si vous devez utiliser la classe Java.util.Date, renommez votre classe Date en quelque chose d'autre

1
Johny