new 一个Date 类型的变量:
Date date = new Date();得到值为:
date = Thu Apr 14 00:00:00 CST 2011我想把这个date转让为“2011-4-14”(也是Date类型的,不是String类型)输出,该如何转化?

解决方案 »

  1.   

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.*;public class Test { public static void main(String[] args) {
    Date date = new Date();
    System.out.println(date);
    SimpleDateFormat fo = new SimpleDateFormat("yyyy-mm-dd");
    String s = fo.format(date);
    System.out.println(s);

    Date d = new Date();
    try {
    d = fo.parse(s);
    } catch (ParseException e) {
    e.printStackTrace();
    }
    System.out.println(""+d);
    }}
      

  2.   

    使用SimpleDateForamat类, 
    Date date = new Date();
    SimpleDateForamat fdate = new SimpleDateFormat("YYYY-MM-dd");//使输出的格式为YYYY-MM-dd
    System.out.println(fdate.format(date));   // 输出为你需要的格式 2011-4-14
      

  3.   

    晕,楼上这位。我还是要转换成Date类型,只是日期格式不同。你这个是转成字符串。服了。
      

  4.   

    使用SimpleDateForamat类,  
    Date date = new Date();
    SimpleDateForamat fdate = new SimpleDateFormat("YYYY-MM-dd");//使输出的格式为YYYY-MM-dd
    fdate.parse(fdate.format(date));
      

  5.   


    楼主去google下SimpleDateFormat类得作用的,只有自己试下才能够明白。
      

  6.   

    看你如此简单的问题都难受、google难道解决不了吗:给你两种输出方式你自己可以选择的用了
    import java.text.SimpleDateFormat;
    import java.util.Date;public class DateUtil {
    private static final String PAT = "yyyy-MM-dd HH:mm:ss.SSS";
    private static final String PAT1 = "MM/dd/yyyy";
    public static String dateFormat(Date date){
    SimpleDateFormat sdf1 = new SimpleDateFormat(PAT);
    try {
    return sdf1.format(date);
    }catch(Exception e) {
    e.printStackTrace();
    }
    return null;
    }
    public static Date dateFormatStr(String str){
    SimpleDateFormat sdfStr = new SimpleDateFormat(PAT1);
    Date d = null;
    try {
    d = sdfStr.parse(str);
    }catch(Exception e) {
    e.printStackTrace();
    }
    return d;
    }
    }
    以后这样的小问题就自己去baidu、google解决了 可以锻炼自己了·········
      

  7.   

    呵呵没看清楚你的分割符你自己把PAT1换成yyyy-MM-dd就行了
      

  8.   

    楼上的请自测下行不?
    用SimpleDateFormat 转来转去的没有用。
    google一搜就搜到谁还来这发帖,成熟点行吗?
      

  9.   

    用 Timestamp吧Timestamp t=new Timestamp(System.currentTimeMillis());
      

  10.   

    Date date = new Date();
    SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    Date time = (Date) Timestamp.valueOf(sf.format(date));
    这个试试,(*^__^*) 嘻嘻……
      

  11.   


    Date currentDate = new Date();
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(currentDate);
    calendar.add(Calendar.DAY_OF_MONTH, -1); SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
    String starDate = sdf.format(calendar.getTime());

    System.out.println(starDate);
      

  12.   

    Date date = new Date();


    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); // Date format = df.parse(date); String str_date1 = df.format(date); System.out.println(str_date1);
      

  13.   

    ...楼主真是搞笑,date类型有什么格式date = Thu Apr 14 00:00:00 CST 2011我想把这个date转让为“2011-4-14”(也是 Date类型的,不是String类型)输出你能输出就是调用了date的tosting方法输出的还是字符串楼主输出一个Date类型我看看?先去把java基础搞扎实了在说。
      

  14.   

    莫不是想只有日期,没有时分秒?
    如果是:
    java.util.Date utilDate = new java.util.Date();
    java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
    否则,如上面说的,只有String才存在格式一说
      

  15.   

    引用 28 楼 hzhj90 的回复:呵呵,基础不扎实啊楼主,态度也有问题。引用 24 楼 x19881216 的回复:
    ...楼主真是搞笑,date类型有什么格式date = Thu Apr 14 00:00:00 CST 2011我想把这个date转让为“2011-4-14”(也是 Date类型的,不是String类型)输出你能输出就是调用了date的……
      

  16.   

    package com.xinzhanedu1;import java.text.SimpleDateFormat;
    import java.util.Date;public class test { public static void main(String[] args) {
    Date date = new Date();
    SimpleDateFormat fo = new SimpleDateFormat("yyyy-mm-dd");
    String s = fo.format(date);
    System.out.println(s);
    }}
      

  17.   

    谢谢以上各位的帮助,批评与讨论。
    对date类型理解了。