Chuyển đổi ngày tháng trong Java

Có hai lớp để định dạng ngày trong java: DateFormat và SimpleDateFormat.

Lớp java.text.DateFormat trong java cung cấp các phương thức khác nhau để định dạng và phân tích ngày tháng và thời gian trong java. Lớp DateFormat là một lớp trừu tượng. java.text.Format là lớp cha và java.text.SimpleDateFormat là lớp con của lớp java.text.DateFormat.

Lưu ý: rằng định dạng (format) có nghĩa là chuyển đổi date thành string và phân tích (parse) có nghĩa là chuyển đổi string thành date.

Để định dạng ngày tháng trong Java chúng ta sẽ sử dụng đến lớp SimpleDateFormat, lớp SimpleDateFormat thuộc java.text.SimpleDateFormat cung cấp các phương thức để phân tích và chuyển đổi ngày tháng và thời gian trong ứng dụng Java. Lớp SimpleDateFormat kế thừa lớp DateFormat thuộc java.text.DateFormat.

Về cơ bản để chuyển đổi ngày tháng trong Java từ String sang Date và Date sang String sẽ thực hiện như sau:

// String -> Date
SimpleDateFormat.parse(String);

// Date -> String
SimpleDateFormat.format(date);

Trong đó:

  • Phương thức SimpleDateFormat.format(java.util.Date date) được sử dụng để chuyển đổi Date sang String.
  • Phương thức SimpleDateFormat.parse(String string) được sử dụng để chuyển đổi String sang Date.

Bảng sau liệt kê một số mẫu định dạng ngày và giờ được sử dụng trong lớp SimpleDateFormat:

Ký hiệuMô tảVí dụ
yNăm2018
MTháng trong nămJuly, 07, 7
dNgày trong tháng1-31
ETên ngày trong tuầnFriday, Sunday
aĐịnh dạng AM hoặc PMAM, PM
HGiờ trong ngày0-23
hGiờ AM hoặc PM1-12
mPhút trong giờ0-60
sGiây trong phút0-60

Ví dụ về DateFormat trong java – chuyển đổi date thành string

Dưới đây là ví dụ định dạng date và time trong java bằng việc sử dụng lớp java.text.DateFormat:

import java.text.DateFormat;
import java.util.Date;
 
public class DateFormatExample1 {
    public static void main(String[] args) {
        Date currentDate = new Date();
        System.out.println("Date hien tai: " + currentDate);
        String dateToStr = DateFormat.getInstance().format(currentDate);
        System.out.println("Date Format su dung getInstance(): " + dateToStr);
    }
}Code language: JavaScript (javascript)

Output:

Date hien tai: Mon Sep 11 10:32:45 ICT 2017
Date Format su dung getInstance(): 17/09/11 10:32Code language: JavaScript (javascript)

Dưới đây là ví dụ đầy đủ về định dạng date và time trong java bằng việc sử dụng lớp java.text.DateFormat:

import java.text.DateFormat;
import java.util.Date;
 
public class DateFormatExample2 {
    public static void main(String[] args) {
        Date currentDate = new Date();
 
        System.out.println("Date hien tai: " + currentDate);
 
        String dateToStr = DateFormat.getInstance().format(currentDate);
        System.out.println("Su dung getInstance(): " + dateToStr);
 
        dateToStr = DateFormat.getDateInstance().format(currentDate);
        System.out.println("Su dung getDateInstance(): " + dateToStr);
 
        dateToStr = DateFormat.getTimeInstance().format(currentDate);
        System.out.println("Su dung getTimeInstance(): " + dateToStr);
 
        dateToStr = DateFormat.getDateTimeInstance().format(currentDate);
        System.out.println("Su dung getDateTimeInstance(): " + dateToStr);
 
        dateToStr = DateFormat.getTimeInstance(DateFormat.SHORT)
                .format(currentDate);
        System.out.println("Su dung getTimeInstance(DateFormat.SHORT): "
               + dateToStr);
 
        dateToStr = DateFormat.getTimeInstance(DateFormat.MEDIUM)
                .format(currentDate);
        System.out.println("Su dung getTimeInstance(DateFormat.MEDIUM): "
                + dateToStr);
 
        dateToStr = DateFormat.getTimeInstance(DateFormat.LONG)
                .format(currentDate);
        System.out.println("Su dung getTimeInstance(DateFormat.LONG): "
                + dateToStr);
 
        dateToStr = DateFormat.getDateTimeInstance(DateFormat.LONG, 
                DateFormat.SHORT).format(currentDate);
        System.out.println("Su dung "
                + "getDateTimeInstance(DateFormat.LONG,DateFormat.SHORT): "
                + dateToStr);
    }
}Code language: JavaScript (javascript)

Output

Date hien tai: Mon Sep 11 10:36:12 ICT 2017
Su dung getInstance(): 17/09/11 10:36
Su dung getDateInstance(): 2017/09/11
Su dung getTimeInstance(): 10:36:12
Su dung getDateTimeInstance(): 2017/09/11 10:36:12
Su dung getTimeInstance(DateFormat.SHORT): 10:36
Su dung getTimeInstance(DateFormat.MEDIUM): 10:36:12
Su dung getTimeInstance(DateFormat.LONG): 10:36:12 ICT
Su dung getDateTimeInstance(DateFormat.LONG,DateFormat.SHORT): 2017/09/11 10:36Code language: JavaScript (javascript)

Ví dụ về DateFormat trong java – chuyển đổi string thành date

Dưới đây là ví dụ chuyển đối string thành date trong java bằng việc sử dụng lớp java.text.DateFormat:

import java.text.DateFormat;
import java.util.Date;
 
public class DateFormatExample3 {
    public static void main(String[] args) throws Exception {
        Date date = DateFormat.getDateInstance().parse("2017/11/09");
        System.out.println("Date: " + date);
    }
}Code language: JavaScript (javascript)

Output:

Date: Thu Nov 09 00:00:00 ICT 2017Code language: CSS (css)

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai.

Tài liệu + Khóa học lập trình FREE
Tài liệu + Khóa học lập trình FREE

DMCA.com Protection Status