Java 字符串到日期,格式未更改
我已经格式化了字符串形式的日期,我希望它在日期格式,而不改变格式化模式 这是我的密码Java 字符串到日期,格式未更改,java,datetime,Java,Datetime,我已经格式化了字符串形式的日期,我希望它在日期格式,而不改变格式化模式 这是我的密码 Date currDate = new Date();//Fri Oct 31 03:48:24 PDT 2014 String pattern = "yyyy-MM-dd hh:mm:ss"; SimpleDateFormat formatter; formatter = new SimpleDateFormat(pattern); String formattedDate= formatter.format
Date currDate = new Date();//Fri Oct 31 03:48:24 PDT 2014
String pattern = "yyyy-MM-dd hh:mm:ss";
SimpleDateFormat formatter;
formatter = new SimpleDateFormat(pattern);
String formattedDate= formatter.format(currDate);//2014-10-31 04:23:42
这里我得到了“yyyy-MM-dd hh:MM:ss”格式和我想要的日期格式
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
Date paidDate = sdf.parse(formattedDate);
System.out.println(pattern + " " + paidDate);//Fri Oct 31 03:48:24 PDT 2014
但我得到的结果是2014年10月31日星期五03:48:24,所以请帮助我以日期格式获得2014-10-31 04:23:42的结果,您这样做的时候正在打印日期:
System.out.println(pattern + " " + paidDate);
你需要使用你所说的格式
System.out.println(pattern + " " + formatter.format(paidDate));
您不会得到预期的结果,因为
System.out.println(pattern+“”+paidDate)
调用了paidDate.toString()
,这意味着这里java.util.Date#toString()
。如果要格式化日期,请调用formatter.format(paidDate)
如果要在调用toString()
时正确格式化日期,必须创建java.util.date
的子类来覆盖toString()
方法,以便返回formatter.format()
的结果。诸如此类:
public class MyDate extends Date {
public String toString() {
final SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
return formatter.format(this);
}
}
日期
是自历元起的毫秒数;要修改默认输出,需要一个<代码> DATEFALT.FALLATION/COD>调用。但是,在我需要的时候返回字符串,在打印时,只使用<代码> SDF。格式化< /代码>。如果您使用java 8,则应该考虑使用<代码> LoalDATECTIMEON/CODE >。FravaTr.FalthATA.()返回字符串,我需要是Date如果是这样,您需要创建java.util.Date的子类来覆盖toString()方法,以便返回formatter.format()的结果返回的值是String我需要它是Date日期已经在paidDate对象中。。。如何打印它与对象完全无关。。。