質問

I'm trying to convert a String to Date. When I run my software I get this mistake, which is obvious I'm parsing it badly:

The mistake is this:

java.text.ParseException: Unparseable date: "2014-02-07 00:00:00"
   at java.text.DateFormat.parse(DateFormat.java:357)
   at com.parkinsoncontrol.WsParkinsonControl.consultConfiguration(WsParkinsonControl.java:200)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:601)
   at org.glassfish.webservices.InstanceResolverImpl$1.invoke(InstanceResolverImpl.java:143)
  at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:150)
  at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:261)
  at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:100)
  at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641)
  at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600)
  at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)
  at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482)
  at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:116)
  at org.glassfish.webservices.MonitoringPipe.process(MonitoringPipe.java:142)
  at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:119)
  at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641)
  at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600)
  at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)
  at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482)
  at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:116)
  at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:212)
  at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:144)
  at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:119)
  at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641)
  at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600)
  at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)
  at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482)
  at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:314)
  at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:608)
  at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:259)
  at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:162)
  at org.glassfish.webservices.JAXWSServlet.doPost(JAXWSServlet.java:145)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
  at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
  at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
  at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
  at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
  at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
  at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
  at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
  at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
  at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
  at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
  at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
  at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
  at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
  at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
  at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
  at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
  at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
  at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
  at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
  at java.lang.Thread.run(Thread.java:722)

And the code which I'm developing is this:

DateFormat formatter; 
Date date ; 
formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss",Locale.ENGLISH);
    try {
        Date parsed = formatter.parse(dateI);
        System.out.append("La fecha es:"+parsed);
    } catch (ParseException ex) {
        Logger.getLogger(WsParkinsonControl.class.getName()).log(Level.SEVERE, null, ex);
    }

So, what I'm doing wrong?. Thanks so much and regards.

役に立ちましたか?

解決

This is your value:

2014-02-07 00:00:00

This is your format:

yyyy-MM-dd'T'HH:mm:ss

They don't match. Your format has a T in the middle - your value doesn't.

If all your values have a space instead of a T, just use:

yyyy-MM-dd HH:mm:ss

If some values have a T and some don't, you'll need to use multiple DateFormat instances.

Additionally, you should consider which time zone you want to use when parsing. Currently you're just using the system default time zone. Is that the actual time zone of the values?

他のヒント

Are you trying to do this?

DateFormat formatter; 
Date date ; 
formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss",Locale.ENGLISH);
try {
    Date parsed = formatter.parse("2014-05-15T10:07:00");
    System.out.append("La fecha es:"+parsed);
}

Output: La fecha es:Thu May 15 10:07:00 EDT 2014

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top