如何在java中格式化日期并以日期格式返回值

如何在java中格式化日期并以日期格式返回值,java,Java,我尝试转换以下格式的日期: 2013年9月18日星期三00:00:00至“2013年9月18日00:00:00”。 我用 但当我再次尝试使用以下命令将字符串转换为日期时: Date newDate = sdf.parse(abc); // gives me the default date format as Wed Sep 18 00:00:00 IST 2013 如何在日期返回类型中将结果设置为2013年9月18日00:00:00这样的日期没有格式,但您可以使用格式化程序生成日期的格式化版

我尝试转换以下格式的日期: 2013年9月18日星期三00:00:00至“2013年9月18日00:00:00”。 我用

但当我再次尝试使用以下命令将字符串转换为日期时:

Date newDate = sdf.parse(abc); // gives me the default date format as Wed Sep 18 00:00:00 IST 2013

如何在日期返回类型中将结果设置为2013年9月18日00:00:00

这样的日期没有格式,但您可以使用格式化程序生成日期的格式化版本或将字符串解析为日期(如您所做的)。您可以做的是对Date类进行子类化并重写toString()方法。这样,当您在IDE中调试代码、记录日期等时,您将看到预期的格式

class MyDate extends Date{
   @Override 
   public String toString(){
       return sdf.format(this)
   }
}

日期没有格式您看到的是内部表示日期对象始终具有相同的表示形式。格式化它的唯一方法是将其转换为字符串,就像您已经做的那样。我需要将日期格式化为日期格式的主要原因是,我将日期传递给另一个以日期为参数的方法,该方法是我的项目的通用功能,不能更改。但是正如上面的注释所提到的,如果您只是将日期传递给另一个方法,那么格式就不相关了。只需尝试一下,并将异常添加到您的问题中(以防您遇到异常)。日期最终会传递给映射到UI的模型类,因此日期的格式为imp
class MyDate extends Date{
   @Override 
   public String toString(){
       return sdf.format(this)
   }
}