Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Các mã định dạng (Format Codes) của SimpleDateFormat trong Java

Lớp java.text.SimpleDateFormat được dùng để định dạng và phân tích chuỗi thành ngày và ngược lại.

Phân tích chuỗi ngày

Một trong các constructor của lớp này chấp nhận một giá trị String đại diện cho định dạng ngày mong muốn và tạo đối tượng SimpleDateFormat. Để phân tích/chuyển đổi một chuỗi thành đối tượng Date:

  • Khởi tạo lớp này bằng cách truyền chuỗi định dạng mong muốn.
  • Phân tích chuỗi ngày bằng phương thức parse().

Dưới đây là danh sách các ký tự định dạng với mô tả và ví dụ:

Ký tự Thành phần Ví dụ
GChỉ định kỷ nguyên (Era)AD, BC
yNăm2005, 96
YNăm tuần2005, 96
MTháng trong nămSeptember, Sep, 09
LTháng trong năm (standalone)September, Sep, 09
wTuần trong năm23
WTuần trong tháng3
DNgày trong năm129
dNgày trong tháng27
FNgày của tuần trong tháng5
ENgày trong tuần (tên)Monday, Mon
uNgày trong tuần (số)1
aAM/PMPM, AM
HGiờ trong ngày (0-23)0, 22
kGiờ trong ngày (1-24)1, 12, 24
KGiờ trong am/pm (0-11)0, 5, 11
hGiờ trong am/pm (1-12)1, 5, 12
mPhút trong giờ25
sGiây trong phút24
SMili-giây756
zMúi giờPST, GMT
ZMúi giờ (RFC 822)-0500
XMúi giờ (ISO 8601)-06, -0600, -06:00

Ví dụ 1

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Sample {
    public static void main(String args[]) throws ParseException {
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy/dd/MM");
        Date date = formatter.parse("2007/25/06");
        System.out.println("Giá trị ngày: " + date);

        formatter = new SimpleDateFormat("y:G");
        date = formatter.parse("1920:BC");
        System.out.println("Giá trị ngày: " + date);

        formatter = new SimpleDateFormat("D-M-Y");
        date = formatter.parse("25-05-1989");
        System.out.println("Giá trị ngày: " + date);
    }
}

Kết quả

Giá trị ngày: Mon Jun 25 00:00:00 IST 2007
Giá trị ngày: Sun Jan 01 00:00:00 IST 1920
Giá trị ngày: Sun Jan 01 00:00:00 IST 1989

Ví dụ 2: Định dạng thời gian

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Sample {
    public static void main(String args[]) throws ParseException {
        SimpleDateFormat formatter1 = new SimpleDateFormat("HH:mm:ss");
        Date time1 = formatter1.parse("07:25:30");
        System.out.println("Giá trị ngày: " + time1);

        SimpleDateFormat formatter2 = new SimpleDateFormat("EEE:MMM-d:YYYY");
        Date time2 = formatter2.parse("Sun:Jan-8:2018");
        System.out.println("Giá trị ngày: " + time2);

        SimpleDateFormat formatter3 = new SimpleDateFormat("hh 'o''clock' a");
        Date time3 = formatter3.parse("09 o'clock AM");
        System.out.println("Giá trị ngày: " + time3);
    }
}

Kết quả

Giá trị ngày: Thu Jan 01 07:25:30 IST 1970
Giá trị ngày: Sun Dec 31 00:00:00 IST 2017
Giá trị ngày: Thu Jan 01 09:00:00 IST 1970