Java 如何解析日期格式?

Java 如何解析日期格式?,java,Java,我想登录和注销系统的时间 Process uptimeProc = Runtime.getRuntime().exec("net stats srv"); BufferedReader in = new BufferedReader(new inputStreamReader(uptimeProc.getInputStream())); String line; while ((line = in.readLine()) != nul

我想登录和注销系统的时间

       Process uptimeProc = Runtime.getRuntime().exec("net stats srv");
       BufferedReader in = new BufferedReader(new inputStreamReader(uptimeProc.getInputStream()));

        String line;
        while ((line = in.readLine()) != null) 
        {
                if(line.contains("Statistics since"))
                {
                    SimpleDateFormat format = new SimpleDateFormat("'Statistics since' MM/dd/yyyy hh:mm:ss a");
                    //System.out.println("in  ijj  "+in.readLine());
                    Date boottime = format.parse(line);
                    System.out.println("Uptime="+uptime+""+boottime);

                    uptime = System.currentTimeMillis() - boottime.getTime();


                    break;

               }
        }
执行此代码后,它会引发类似以下的异常

Exception in thread "main" java.text.ParseException: Unparseable date: "Statistics since 6/16/2014 10:08 AM"
    at java.text.DateFormat.parse(DateFormat.java:337)
    at programs.GetLoginTimeYaar.getSystemUptime(GetLoginTimeYaar.java:44)
    at programs.GetLoginTimeYaar.main(GetLoginTimeYaar.java:14)

请回复

您必须删除模式中的秒数:

new SimpleDateFormat("'Statistics since' MM/dd/yyyy hh:mm a");
试一试


因为您的日期不包含秒。

我还建议将
MM
更改为
M
,以匹配值的格式。您给定的格式解析值,但格式不同。请花一些时间阅读
new SimpleDateFormat("'Statistics since' MM/dd/yyyy hh:mm a");