String testDateString = "02/04/2014";
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date d1 = df.parse(testDateString);
String date = df.format(d1);
输出的字符串:
02/04/2014
现在我需要将日期 d1
以相同的方式格式化("02/04/2014")。
String testDateString = "02/04/2014";
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date d1 = df.parse(testDateString);
String date = df.format(d1);
输出的字符串:
02/04/2014
现在我需要将日期 d1
以相同的方式格式化("02/04/2014")。
Date
类子类,并在其中重写toString
方法。import java.text.SimpleDateFormat;
import java.util.Date;
public class MyDate extends Date {
private final SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
public MyDate() { }
public MyDate(Date source) {
super(source.getTime());
}
// ...
@Override
public String toString() {
return dateFormat.format(this);
}
}
Date
一样创建这个类,并且不需要每次都创建SimpleDateFormat
。public static void main(String[] args) {
MyDate date = new MyDate();
System.out.println(date);
}
输出结果为23/08/2014
。
这是您在问题中发布的更新代码:
String testDateString = "02/04/2014";
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
MyDate d1 = new MyDate(df.parse(testDateString));
System.out.println(d1);
df.format(d1)
,d1.toString()
将返回格式化后的日期字符串。尝试像这样做:
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date d= new Date(); //Get system date
//Convert Date object to string
String strDate = sdf.format(d);
//Convert a String to Date
d = sdf.parse("02/04/2014");
parse
的结果转换为 Date 类型?它本身就返回一个 Date 对象。 - Tomdate2
(或者您的d1
)无法本地打印所需的格式?为此,您需要创建自己的类MyDate
,该类将扩展Date
类,然后您可以重写toString
方法。在其中,您可以按照您想要的方式格式化输出。 - Tom