Java如何顯示不同格式的日期?

2019-10-16 22:30:50

在Java中,如何以不同的格式來顯示日期?

此範例使用DateFormatSymbols().DateFormatSymbols類的getWeekdays()方法來顯示時間的格式。

package com.yiibai;

import java.text.*;
import java.util.*;

public class DisplayDateDifferentFormats {
    public static void main(String[] args) {
        Date dt = new Date(1499999999999L);
        DateFormat[] dtformat = new DateFormat[6];

        dtformat[0] = DateFormat.getInstance();
        dtformat[1] = DateFormat.getDateInstance();
        dtformat[2] = DateFormat.getDateInstance(DateFormat.MEDIUM);
        dtformat[3] = DateFormat.getDateInstance(DateFormat.FULL);
        dtformat[4] = DateFormat.getDateInstance(DateFormat.LONG);
        dtformat[5] = DateFormat.getDateInstance(DateFormat.SHORT);

        for (DateFormat dateform : dtformat)
            System.out.println(dateform.format(dt));
    }
}

上述程式碼範例將產生以下結果。

17-7-13 下午10:39
2017-7-13
2017-7-13
2017年7月13日 星期四
2017年7月13日
17-7-13

以下是另一種格式的另一個日期範例。

package com.yiibai;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class DisplayDateDifferentFormats2 {
    public static void main(String[] args) {
        Date curDate = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");

        String DateToStr = format.format(curDate);
        System.out.println(DateToStr);

        format = new SimpleDateFormat("dd-M-yyyy hh:mm:ss");
        DateToStr = format.format(curDate);
        System.out.println(DateToStr);

        format = new SimpleDateFormat("dd MMMM yyyy zzzz", Locale.ENGLISH);
        DateToStr = format.format(curDate);
        System.out.println(DateToStr);

        format = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss z");
        DateToStr = format.format(curDate);
        System.out.println(DateToStr);

        try {
            Date strToDate = format.parse(DateToStr);
            System.out.println(strToDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

上述程式碼範例將產生以下結果。

2017/09/17
17-9-2017 10:29:39
17 September 2017 Bolivia Time
星期日, 17 九月 2017 22:29:39 BOT
Sun Sep 17 22:29:39 BOT 2017