在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