Chuyển đổi chuỗi ngày tháng E, MMM dd yyyy(ex: "Sat, June 7 2013";) thành kiểu date trong java? (How to convert string date E, MMM dd yyyy to date type in java?)


Một lưu ý mà tôi quên trong các bài về Date trước là chuỗi(string) import vào để chuyển đổi phải đảm bảo là ngày có thực, nếu không thì Java sẽ báo lỗi hoặc trả về một kết quả sai. Bài này tôi tiếp tục giới thiệu cách chuyển đổi chuỗi date E, MMM dd yyyy thành kiểu dữ liệu date trong java.



ConvertStringToDate.java
/**
 * @(#)ConvertStringToDate.java
 *
 * ConvertStringToDate application
 *
 * @author developer.bnson@live.com
 * @web: vnlives.net
 * @version 1.00 2014/4/11
 */

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

public class ConvertStringToDate {
   
    public static void main(String[] args) {

        SimpleDateFormat formatter = new SimpleDateFormat("E, MMM dd yyyy");
       
        String dateString = "Sat, Apr 12 2014";
        //String dateString = "Sat, June 7 2013";
       
        try {
       
            Date date = formatter.parse(dateString);
           
            System.out.println("Date string: " + dateString);
            System.out.println("String convert to date: " + date);
            System.out.println("Date with formatter: " + formatter.format(date));
       
        } catch (ParseException e) {
           
            e.printStackTrace();
           
        }

    }
}


Kết quả - Result



Lưu ý - Note

Bây giờ ta thử test một trường hợp đầu vào chuỗi ngày tháng là sai bằng cách thay dòng  [String dateString = "Sat, Apr 12 2014";] thành [String dateString = "Fri, Apr 12 2014";](ngày sai vì thứ 6 ngày 12 là không có), và chạy lại chương trình để xem Java trả về như thế nào.


Như các bạn thấy ở hình trên Java rất thông minh, nó dựa vào ngày 12 để trả về thứ 7(Sat) hợp lệ.
















No comments:

Post a Comment