需要自己编写一个字符串到日期的转化。具体的方法是:
用java.util.StringTokenizer做输入字符串的分割,用String类取得子字符串;用一个表示月的字符数组定义12个月,丛数组中匹配得到月份的序号(从0开始到11);用Integer把日子的字符转化为数字(21th转化为21);用java.util.Calendar得到java.util.Calendar实例,使用set方法设置年月日的数值,用getDate方法返回Date对象。
我只说方法,至于编程还是自己去完成吧。这对你的进步有好处,当然有疑问,可以随时问我:)

解决方案 »

  1.   

    补充一点对于21th,你可以用String中的subString方法取得数字,至于如何取,你要非常小心,呵呵!别问我为什么,自己试试看。
      

  2.   

    我以按
    duxu2004(渡虚) 
    说的方法做了,没有问题.但是又要从date输出为"February 21th, 2004",不知道怎么做了?
    烦就一个字.
      

  3.   

    使用java.text.SimpleDateFormat类。这个类可以使用构造模扳来输出日期的文本显示。
    如:
    SimpleDateFormat f=new SimpleDateFormat("MMM dd,yyyy");
    构造SimpleDateFormat使用的字符串就是模扳。这个模扳的表示即为"February 21th, 2004"的式样。
    其他模扳符号定义为:
    符号            意义                      显示形式                       举例
    G              公元                        文本                          AD
    y              年份                        数字                          2001
    M              月                          文本或数字                    July或07
    d              日                          数字                          10
    h              A.M./P.M.制的钟点(1~12)   数字                          12
    H              24小时制的钟点(0~23)      数字                           0
    m              分钟                        数字                           30
    s              秒                          数字                           43
    S              毫妙                        数字                           234
    E              星期几                      文本                           Tuesday
    D              一年中的第几天               数字                           360
    F              某月中的第几个星期几         数字                           2
    w              一年中的第几个星期           数字                           40
    W              一个月中的第几个星期         数字                           1
    a              A.M./P.M.标记               文本                           PM
    k              24小时制的钟点(1~24)      数字                           24
    K              A.M./P.M.制的钟点(0~11)   数字                           0
    z              时区                        文本                           Eastern
    '              转义符                      分隔符                         
    ''             单引号                      符号                           '这些符号是可以随意组合的,其中,显示形式为"文本"的符号,使用4个或以上的重复组合将输出长文本字符串,反之输出短字符串。如:E产生Mon,而EEEE则产生Monday。对于显示形式为"文本和数字"的符号,两次以下包括两次的复用产生数字,而两次以上则产生文本。晚上一时有空,就写了这个。希望能对个位想多了解日期格式化的朋友有所帮助。
      

  4.   

    Date类解析字符串生成日期的方法都已被标明为deprecated。但如果你要用还是可以的。
      

  5.   

    更正一下,应该是Feburary 21st, 2004吧,呵呵
      

  6.   

    说明,已经deprecated的方法虽然可以用,但是不一定保证正确。特别是在日期变换、时区转换的时候,会出错。大家不妨自己试一试。