Java输出时间问题?

时间:2022-10-19 15:49:48
System.out.print(new java.util.Date());
 为什么 这个代码就能直接输出当前时间呢?
 

20 个解决方案

#1


new java.util.Date()是java中的日期操作类.
平时我们不这么写.都是写
import java.util.Date;
Date date  = new Date();
System.out.println(date);
那是因为我们用import把日期类引进来了..
现在这么写:
System.out.print(new java.util.Date());
你会发现上面没有import java.util.Date;
因为我们直接去JDK里面找他了...这是全类名..

#2


Date类过期了,建议用Calendar

#3


java.util.Date的默认构造会以当前时间为参数调用以long为参数的构造

#4


引用 1 楼 amos1989 的回复:
new java.util.Date()是java中的日期操作类.
平时我们不这么写.都是写
import java.util.Date;
Date date  = new Date();
System.out.println(date);
那是因为我们用import把日期类引进来了..
现在这么写:
System.out.print(new java.util.Date());
……
 恩恩

#6


引用 1 楼 amos1989 的回复:
new java.util.Date()是java中的日期操作类.
平时我们不这么写.都是写
import java.util.Date;
Date date = new Date();
System.out.println(date);
那是因为我们用import把日期类引进来了..
现在这么写:
System.out.print(new java.util.Date());
你……
建议用Calendar

#7


new Date() 就返回当前的日期
Date 类有重写toString()方法
所以System.out.println()时  就会打印toString()方法的返回值

#8


建议用calendar

#9


import java.text.SimpleDateFormat;

SimpleDateFormat dateformats = new SimpleDateFormat("yyyy-M-d   HH时mm分");  String Date = dateformats.format(new Date());

用SimpleDateFormat这个类 把Date格式化一下就好了 输出样式就是上面定义的:
("yyyy-M-d   HH时mm分"),当然也可以自己定义下日期样式了:
SimpleDateFormat函数语法:
  
   G 年代标志符
   y 年
   M 月
   d 日
   h 时 在上午或下午 (1~12)
   H 时 在一天中 (0~23)
   m 分
   s 秒
   S 毫秒
   E 星期
   D 一年中的第几天
   F 一月中第几个星期几
   w 一年中第几个星期
   W 一月中第几个星期
   a 上午 / 下午 标记符 
   k 时 在一天中 (1~24)
   K 时 在上午或下午 (0~11)
   z 时区

#10



import java.util.*;

public class Test {
public static void main(String[] args) {
Calendar gc = new GregorianCalendar();
int year = gc.get(Calendar.YEAR);
int month = gc.get(Calendar.MONTH) + 1;
int date = gc.get(Calendar.DATE);
int hour = gc.get(Calendar.HOUR_OF_DAY);
int minute = gc.get(Calendar.MINUTE);
int second = gc.get(Calendar.SECOND);
String s = year + "-" + month + "-" + date + " " + hour + ":" + minute
+ ":" + second;
System.out.println(s);
}
}

#11


引用 7 楼 l417584711 的回复:
new Date() 就返回当前的日期
Date 类有重写toString()方法
所以System.out.println()时 就会打印toString()方法的返回值


这才是有良心的人啊,分不是白拿的

#12


  可以用DateFormat thedate=DateFormat.getDateInstance(DateFormat.LONG);
   thedate.format(new Date())这样子输出的是2010年3月23日 不过没秒,和小时

#13


7楼正解

#14


看看 java API

#15


引用 11 楼 cbsoftlover 的回复:
引用 7 楼 l417584711 的回复:
new Date() 就返回当前的日期
Date 类有重写toString()方法
所以System.out.println()时 就会打印toString()方法的返回值


这才是有良心的人啊,分不是白拿的

关键之所在  学习了

#16


这问题有点强大的

#17


引用 9 楼 sharke118 的回复:
import java.text.SimpleDateFormat;

SimpleDateFormat dateformats = new SimpleDateFormat("yyyy-M-d HH时mm分"); String Date = dateformats.format(new Date());

用SimpleDateFormat这个类 把Date格式化一下就好了 输出样式就是……


很全面啊,收藏了!

#18


楼主的求知欲还是很强的,可以去阅读一下util包下date的源代码

#19


17楼的,臭逼

#20


因为他的toString方法就是一个时间

#1


new java.util.Date()是java中的日期操作类.
平时我们不这么写.都是写
import java.util.Date;
Date date  = new Date();
System.out.println(date);
那是因为我们用import把日期类引进来了..
现在这么写:
System.out.print(new java.util.Date());
你会发现上面没有import java.util.Date;
因为我们直接去JDK里面找他了...这是全类名..

#2


Date类过期了,建议用Calendar

#3


java.util.Date的默认构造会以当前时间为参数调用以long为参数的构造

#4


引用 1 楼 amos1989 的回复:
new java.util.Date()是java中的日期操作类.
平时我们不这么写.都是写
import java.util.Date;
Date date  = new Date();
System.out.println(date);
那是因为我们用import把日期类引进来了..
现在这么写:
System.out.print(new java.util.Date());
……
 恩恩

#5


#6


引用 1 楼 amos1989 的回复:
new java.util.Date()是java中的日期操作类.
平时我们不这么写.都是写
import java.util.Date;
Date date = new Date();
System.out.println(date);
那是因为我们用import把日期类引进来了..
现在这么写:
System.out.print(new java.util.Date());
你……
建议用Calendar

#7


new Date() 就返回当前的日期
Date 类有重写toString()方法
所以System.out.println()时  就会打印toString()方法的返回值

#8


建议用calendar

#9


import java.text.SimpleDateFormat;

SimpleDateFormat dateformats = new SimpleDateFormat("yyyy-M-d   HH时mm分");  String Date = dateformats.format(new Date());

用SimpleDateFormat这个类 把Date格式化一下就好了 输出样式就是上面定义的:
("yyyy-M-d   HH时mm分"),当然也可以自己定义下日期样式了:
SimpleDateFormat函数语法:
  
   G 年代标志符
   y 年
   M 月
   d 日
   h 时 在上午或下午 (1~12)
   H 时 在一天中 (0~23)
   m 分
   s 秒
   S 毫秒
   E 星期
   D 一年中的第几天
   F 一月中第几个星期几
   w 一年中第几个星期
   W 一月中第几个星期
   a 上午 / 下午 标记符 
   k 时 在一天中 (1~24)
   K 时 在上午或下午 (0~11)
   z 时区

#10



import java.util.*;

public class Test {
public static void main(String[] args) {
Calendar gc = new GregorianCalendar();
int year = gc.get(Calendar.YEAR);
int month = gc.get(Calendar.MONTH) + 1;
int date = gc.get(Calendar.DATE);
int hour = gc.get(Calendar.HOUR_OF_DAY);
int minute = gc.get(Calendar.MINUTE);
int second = gc.get(Calendar.SECOND);
String s = year + "-" + month + "-" + date + " " + hour + ":" + minute
+ ":" + second;
System.out.println(s);
}
}

#11


引用 7 楼 l417584711 的回复:
new Date() 就返回当前的日期
Date 类有重写toString()方法
所以System.out.println()时 就会打印toString()方法的返回值


这才是有良心的人啊,分不是白拿的

#12


  可以用DateFormat thedate=DateFormat.getDateInstance(DateFormat.LONG);
   thedate.format(new Date())这样子输出的是2010年3月23日 不过没秒,和小时

#13


7楼正解

#14


看看 java API

#15


引用 11 楼 cbsoftlover 的回复:
引用 7 楼 l417584711 的回复:
new Date() 就返回当前的日期
Date 类有重写toString()方法
所以System.out.println()时 就会打印toString()方法的返回值


这才是有良心的人啊,分不是白拿的

关键之所在  学习了

#16


这问题有点强大的

#17


引用 9 楼 sharke118 的回复:
import java.text.SimpleDateFormat;

SimpleDateFormat dateformats = new SimpleDateFormat("yyyy-M-d HH时mm分"); String Date = dateformats.format(new Date());

用SimpleDateFormat这个类 把Date格式化一下就好了 输出样式就是……


很全面啊,收藏了!

#18


楼主的求知欲还是很强的,可以去阅读一下util包下date的源代码

#19


17楼的,臭逼

#20


因为他的toString方法就是一个时间

#21