java中如何能把一個字符串轉(zhuǎn)成日期對象



題目3.1: 把一個字符串轉(zhuǎn)成日期對象
當(dāng)我們想根據(jù)輸入字符串得到一個日期對象時我們不知道,應(yīng)該以什么格式寫這個字符串,才能被系統(tǒng)正確解析,一種聰明的做法是,馬克-to-win,我們先 把日期對象根據(jù)我們的格式打印出來,之后照打印出來的樣子,一絲不差的寫這個字符串,這個字符串必定能被系統(tǒng)正確解析。下面這個例子,就是先把日期對象根 據(jù)我們的格式打印出來。之后才涉及到解析。
馬克- to-win:馬克 java社區(qū):防盜版實名手機尾號: 73203。

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
public class Test {
    public static void main(String[] args) {
        Date date;
        Calendar cal = Calendar.getInstance();
/*先把日期對象根據(jù)我們的格式打印出來 can give us some direction to parse the string to Date format.");*/
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss G W a E");
        String mDateTime=formatter.format(cal.getTime());
        System.out.println("mDateTime is"+mDateTime);
 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss G W a E");
        Date d = null;
        try {
/*模仿之前打出來的字符串的格式,照葫蘆畫瓢按上面格式寫下面的字符串, 之前打印出來是這樣子2014-05-30 14:17:54 公元 5 下午 星期五,馬克-to-win, 所以我就寫成如下的樣子*/        
            d = sdf.parse("2008-11-04 09:53:45 公元 2 上午 星期二");
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println("mDateTime1 is"+d);

    }
}


結(jié)果是:
mDateTime is2014-05-31 15:15:30 公元 5 下午 星期六
mDateTime1 isTue Nov 04 09:53:45 CST 2008