datestr = "29/Sep/2009:17:09:06"; 
String gettime = "";
try { 
   SimpleDateFormat dateFm = new SimpleDateFormat("dd/MMM/yy:HH:mm:ss",new Locale("US"));
   java.util.Date dateTime = dateFm.parse(datestr); 
   dateFm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
   gettime = dateFm.format(dateTime).toString();
} catch (Exception e) { 
e.printStackTrace(); 
}
system.out.println(gettime);以上这段代码在win上面没问题,在Linux下就出错,两边java版本都是1.5的,真是想不通,只果真是操作系统的问题,大家有什么好的办法来处理 "29/Sep/2009:17:09:06" 这种日期格式吗

解决方案 »

  1.   

    system.out.println(gettime); 
    这句应该是System.out.println(gettime);吧楼主你测试的linux系统是什么发行版的?
    在我这儿测试你的代码没出错呀
    输出结果2009-09-29 17:09:06import java.util.*;
    import java.text.*;public class Test{
            public static void main(String [] args){
                    String datestr = "29/Sep/2009:17:09:06";
                    String gettime = "";
                    try {
                            SimpleDateFormat dateFm = new SimpleDateFormat("dd/MMM/yy:HH:mm:ss
    ",new Locale("US"));
                            Date dateTime = dateFm.parse(datestr);
                            dateFm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                            gettime = dateFm.format(dateTime).toString();
                    } catch (Exception e) {
                            e.printStackTrace();
                    }
                    System.out.println(gettime);
            }
    }
      

  2.   

    linux版本如下:
    [root@xxxx root]# lsb_release -a
    LSB Version:    1.3
    Distributor ID: RedHatEnterpriseAS
    Description:    Red Hat Enterprise Linux AS release 3 (Taroon Update 3)
    Release:        3
    Codename:       TaroonUpdate3
    [root@sms1 root]# rpm -q redhat-release
    redhat-release-3AS-7.3这个问题真想不通,那位帮帮忙啊