java 时间 问题

qkniit 2011-01-21 02:26:18
在java中 如何得到 系统当前时间 时间类型必须是Date

且格式为"yyyy-MM-dd HH:mm:ss"
...全文
147 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
javawwb 2011-01-21
  • 打赏
  • 举报
回复
楼主知道 System.out.println(d);干了些什么事情吗?
d是一个对象,System.out.println(d);会调用d对象(首先,它是Object的子类,必有toString()方法)的toString()方法。楼主查一下Date类的源代码看看,它的toString()方法是怎么写的。
你想直接System.out.println(d);打印出某种格式是不可能的,因为默认情况下,对象要么调用自己的toString()方法,要么调用父类的toString()方法,这样一般不会输出你想要的格式。
那怎么办,
1、重写Date类的toString()方法,(这个价值不大,而且很容易惹出麻烦来),
2、用DateFormat这样的工具类:SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println(sdf.format(new Date()));
3、自己包装Java提供的Date类:class MyDate extends Date {
public MyDate() {super();}
public String toString() {
return String.format("%tF %tT", this, this);
}
}
Date d = new Mydate();
System.out.println(d);(这个比较麻烦,不建议这样)。
方法2是开发中最常用的。很灵活。
qybao 2011-01-21
  • 打赏
  • 举报
回复
其实LZ为何不这样呢

Date d = new Date();
System.out.printf("%tF %tT\n", d, d);
qybao 2011-01-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 qkniit 的回复:]
我要的效果是:

Date d=new Date();
//对d进行处理
System.out.println(d);

控制台输出:
yyyy-MM-dd HH:mm:ss
[/Quote]

自己封装一个类

class MyDate extends Date {
public MyDate() {super();}
public String toString() {
return String.format("%tF %tT", this, this);
}
}

Date d = new Mydate();
System.out.println(d);
qkniit 2011-01-21
  • 打赏
  • 举报
回复
我要的效果是:

Date d=new Date();
//对d进行处理
System.out.println(d);

控制台输出:
yyyy-MM-dd HH:mm:ss
qingyuan18 2011-01-21
  • 打赏
  • 举报
回复
JDK基础API.....
fengyungl 2011-01-21
  • 打赏
  • 举报
回复
2楼正解
a21768541 2011-01-21
  • 打赏
  • 举报
回复
来晚了。。
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zm851203 的回复:]

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(new Date()));
[/Quote]
这个正确。
qkniit 2011-01-21
  • 打赏
  • 举报
回复
我要的效果是:

Date d=new Date();
//对d进行处理
System.out.println(d);

控制台输出:
yyyy-MM-dd HH:mm:ss
zm_hs 2011-01-21
  • 打赏
  • 举报
回复
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(new Date()));
学习Java中 2011-01-21
  • 打赏
  • 举报
回复
java.text.SimpleDateFormat d=new java.text.SimpleDateFormat( "yyyy-MM-dd HH:mm:ss ");
java.util.Date d=new java.util.Date();

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧