我需要一个YYYY-MM-DD类型的日期,所以我SimpleDateFormat("yyyy-mm-dd").format(new Date());但这样一转换就变String类型了,我要把它变成Date类型,怎么办?

解决方案 »

  1.   

    你这样搞是什么意思?
    Date d = new Date();
    String s = new SimpleDateFormat("yyyy-mm-dd").format(d);
    你要用Date类型的就还是用d不就行了吗?
      

  2.   

    SimpleDateFormat("yyyy-mm-dd")
    注意了,这里的mm如果是小写,将会是分钟,如果是想要日期应该把mm换成大写的MM.
    反过来用的是parse(String)从String变成Date.
      

  3.   

        兄弟,听你的意思是要将一个String类型转换成date类型,如果我理解没有错的话,你可以看看下面的代码,希望可以帮上你!    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
        Date date = sdf.parse("2008-08-08 12:10:12");     如果是要反过来转换的话,看1楼兄弟的代码就ok!
      

  4.   

    你的意思是你只想要前面的日期部分 后面的时间部分不要?那你大可以在将他转换为字符串之后再将他转换为日期类型啊
    try {
    Date date = new SimpleDateFormat("yyyy-MM-dd")
    .parse(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
    System.out.println(date);
    } catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
      

  5.   

    学习,用这个做string与data类型的转换是太好了。
      

  6.   

    查看jdk文档,里面什么都有。
      

  7.   

    public class Test {
        public static void main(String[] args){
            Date date=new Date();
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
            String s="2009-03-06";
            try{
            date=sdf.parse(s);
            sdf.applyPattern("yyyyMMdd");
            System.out.println(sdf.format(date));
            }catch (java.text.ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }参考下 这个例子吧 挺不错的
      

  8.   


    public class ToDate {
    public static Date tran(String str){


    try {
    java.util.Date dateUD= new SimpleDateFormat("yyyy/MM/dd").parse(str);
    java.sql.Date dateSD=new java.sql.Date(dateUD.getTime());
    return dateSD;
    } catch (ParseException e) {
    e.printStackTrace();
    return null;
    }

    }}String类型转换为Date类型的一个工具类~~你看看吧~
      

  9.   

    不对啊,按1楼和5楼的做法,我输出来的都是带有时分秒的,我现在要一个Date类型的"yyyy-MM-dd"
      

  10.   

    希望大家能明白我的意思,我的计算机上new Date()出来的是一个yyyy-MM-d hh:mm:ss的时间,但我不想要hh:mm:ss,而且希望它仍然是Date的。楼上的办法很多都试过了,要么就不是Date类型了,要么就还带着时分秒
      

  11.   

    晕,我来澄清一下
    1 你需要的是一个日期,不是一个字符串
    2 当你要显示日期的时候,你希望是年-月-日这个类型的一个字符串对吗?OK, 你要做的,就是在内部全部用Date,不要管什么年月日这个字符串,他就是一个日期
    java.util.Date当你要变换成为字符串的时候,用那个format就行了。
      

  12.   


    你貌似理解错了他的意思很简单 他要存入到数据库(或者执行其他操作)的日期 精确度只需要到'天' 这里 也就是说无论他什么时候创建DATE 都希望获得 yyyy-MM-dd 00:00:00 这样的值