关于java:如何创建具有特定格式的Date对象

How can I create a Date object with a specific format

1
2
3
4
5
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.text.SimpleDateFormat;
import java.util.Date;

public class MyDate extends Date {
    private final SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");

    /*
     * additional constructors
     */


    @Override
    public String toString() {
        return dateFormat.format(this);
    }
}

现在,您可以像以前用Date创建这个类,而不需要每次都创建SimpleDateFormat

1
2
3
4
public static void main(String[] args) {
    MyDate date = new MyDate();
    System.out.println(date);
}

输出为23/08/2014

这是您在问题中发布的更新代码:

1
2
3
4
5
String testDateString ="02/04/2014";
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");

MyDate d1 = (MyDate) df.parse(testDateString);
System.out.println(d1);

注意,你不必再打电话给df.format(d1)d1.toString()将返回日期作为格式化字符串。


尝试如下操作:

1
2
3
4
5
6
7
8
9
    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");

希望这对你有帮助!