在java中 如何得到 系统当前时间 时间类型必须是Date且格式为"yyyy-MM-dd HH:mm:ss"

解决方案 »

  1.   

    java.text.SimpleDateFormat   d=new   java.text.SimpleDateFormat( "yyyy-MM-dd   HH:mm:ss ");
    java.util.Date   d=new   java.util.Date(); 
      

  2.   

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    System.out.println(sdf.format(new Date()));
      

  3.   

    我要的效果是: Date d=new Date(); 
     //对d进行处理
     System.out.println(d);控制台输出:
    yyyy-MM-dd HH:mm:ss 
      

  4.   

    我要的效果是: Date d=new Date();  
     //对d进行处理
     System.out.println(d);控制台输出:
    yyyy-MM-dd HH:mm:ss  
      

  5.   


    自己封装一个类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);
      

  6.   

    其实LZ为何不这样呢Date d = new Date();
    System.out.printf("%tF %tT\n", d, d);
      

  7.   

    楼主知道 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是开发中最常用的。很灵活。