我正在尝试设置日期格式,但是当我运行此代码时

String oldstring = "2013-01-1";
System.out.println("oldstring = "+oldstring);
Date date = new SimpleDateFormat("yyyy-mm-dd").parse(oldstring);
System.out.println("datefield = "+date);


我得出结果:

oldstring = 2013-01-1
datefield = Tue Jan 01 00:01:00 MSK 2013


为什么datefield不等于2013-01-1?

最佳答案

datefield的类型是Date,因此toString方法基本上总是返回相同的格式,因为您不会覆盖它。

因此,您需要做的基本上是:

String oldstring = "2013-01-1";
System.out.println("oldstring = "+oldstring);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(oldstring);
System.out.println("datefield = "+date);
String outDateStr = sdf.format(date);
System.out.println("newstring = "+outDateStr);

关于java - 如何使用SimpleDateFormat格式化日期?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15740565/

10-09 13:46