在java中打印当前日期

我想在java中打印当前的日期和时间。这是我在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()); } } 

它汇编很好。 但给出的输出是:

日期@ 15db9742

虽然我期待这样的输出:

Mon May 04 09:51:52 CDT 2009

代码有什么问题?

编辑:我试图重命名该类..编辑代码:

 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()); } } 

这是我编译代码并运行的方式:

sou @ sou-linux:〜/ Desktop / java $ javac DateDemo.java

sou @ sou-linux:〜/ Desktop / java $ java DateDemo

输出是:

日期@ 15db9742

您的类是一个自定义类,它生成Object.toString给出的输出。 将类重命名为Date其他内容,以便正确导入java.util.Date

您从Object获取默认的toString() ,因为您创建了自己的名为Date的类,它隐藏了java.util.导入的Date java.util. 。 您可以重命名您的类,也可以使用规范名称java.util.Date类的

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

这里的输出是

 Mon Nov 03 10:57:45 EST 2014 
 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())); } 
 import java.util.Date; public class Dte { public static void main(String[] args) { Date date = new Date(); System.out.println(date.toString()); } } 

将类名称Date更改为Dte或某些内容,代码将正常工作。

输出结果是: Mon Nov 03 21:27:15 IST 2014

您不应该使用toString()方法,因为:

类Object的toString方法返回一个字符串,该字符串由对象为实例的类的名称,符号字符“@”以及对象的哈希码的无符号hex表示组成。 换句话说,此方法返回一个等于值的字符串:

getClass()。getName()+’@’+ Integer.toHexString(hashCode())

从docs.oracle引用: http ://docs.oracle.com/javase/7/docs/api/java/lang/Object.html)。

Date类旨在像其他人一样使用。 只是想解释/给你一个参考原因。

将您的类从Date重命名为其他内容..然后按预期方式运行以下内容:

 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()); } } 

输出采用所需格式

 Mon Nov 03 09:49:57 CST 2014 

你的class级名是Date

 Date date = new Date(); 

将创建类的对象,当您调用date.toString() ,它将是默认的Object.toString()方法。
因此,如果必须使用java.util.Date类,请将Date类重命名为其他类

你可以保持代码简单::

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

除了将类名更改为今天或其他内容而不是Date,因为它是关键字

你可以试试这个,

 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()); } } 

输出:

 Mon May 04 09:51:52 CDT 2009 

此外,您可以参考下面的日期和时间格式链接。 非常有用。

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

https://docs.oracle.com/javase/7/docs/api/java/sql/Date.html

http://www.flowerbrackets.com/date-time-java-program/