2014-10-20 27 views
-1

我有一个字符串类型的日期。我想首先将其更改为日期数据类型。但它无法正常在格式化日期作为我want.Here是我的代码java数据类型中的日期转换问题

String a="12/11/2010"; 

     Date d=new Date(); 
     SimpleDateFormat as=new SimpleDateFormat("dd/MM/yy"); 
     d=as.parse(a); 
    System.out.println(a); 

输出是这样:Sun Jan 01 00:00:00 IST 2012

但我想这样12-10-2014日期数据类型,而不是字符串数据类型的输出。

+0

的[什么是java.util.Date的默认时区(可能重复http://stackoverflow.com/questions/11337557 /是什么 - 是最默认时区功能于Java的util的最新) – 2014-10-20 18:01:36

回答

1
System.out.println(as.format(d)); 

你应该使用你的dateformatter对象来格式化你的日期d。

如果你想解析它作为12/11/2010和输出为12-11-2010你可以有2个不同的dateformatters一个解析和一个输出。防爆。

String a="12/11/2010"; 

    Date d=new Date(); 
    SimpleDateFormat as=new SimpleDateFormat("dd/MM/yyyy"); 
    SimpleDateFormat as1=new SimpleDateFormat("dd-MM-yyyy"); 
    d = as.parse(a); 
    System.out.println(as1.format(d)); 
0

一个Date在某个时刻,虽然它有一个toString()是不可替代的。相反,你使用DateFormat(比如你有一个)format输出

String a="12/11/2010"; 
SimpleDateFormat as=new SimpleDateFormat("dd/MM/yy"); 
Date d=as.parse(a); 
System.out.println(as.format(d));