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.
Nội dung chính
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:
package vn.viettuts.date; 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); } }
Kết quả:
Date hien tai: Mon Sep 11 10:32:45 ICT 2017 Date Format su dung getInstance(): 17/09/11 10:32
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:
package vn.viettuts.date; 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); } }
Kết quả:
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:36
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:
package vn.viettuts.date; 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); } }
Kết quả:
Date: Thu Nov 09 00:00:00 ICT 2017