Hi,
DateTime representation is supposed to work like this.
Formatting 15 with 3 digits can only be written as 015 and milliseconds only accepts SSS format.
If you would want to write it like 150 then it will falsify your data even more, as it would return 150 milliseconds.
If you need date time value, then you can only represent your date like how it is returned.
If your want to render it as string then string concatenation could be suggested, but its already a string.
Would be helpful if you can define a little bit more of what you are trying to achieve.
Hi,
try using the pattern mm:ss:SS instead :)
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/SimpleDateFormat.html
Hi Lukas
This leads to the following error:
com.mendix.modules.microflowengine.MicroflowException: Failed to evaluate expression, error occurred on line 1, character 1
parseDateTime($Lauf/Finish, 'mm:ss:SS')
^
at SkiAnalytics.StringToDateTime (CreateAndChange : 'Create Tabelle(DateTime)')
Advanced stacktrace:
at com.mendix.languages.mxexpressions.MxExpression.evaluate(MxExpression.scala:21)
Caused by: com.mendix.languages.expressions.ExpressionException: java.text.ParseException: Unparseable date: "00:08,15"
at com.mendix.languages.expressions.Expr.evaluate(Expr.java:34)
Caused by: java.text.ParseException: Unparseable date: "00:08,15"
at java.base/java.text.DateFormat.parse(DateFormat.java:395)
at com.mendix.languages.expressions.DateTimeFunctionCallEvaluator.evaluateParseDateTime(DateTimeFunctionCallEvaluator.java:66)
at com.mendix.languages.expressions.FunctionCallExpr.evaluateExpression(FunctionCallExpr.java:120)
at com.mendix.languages.expressions.Expr.evaluate(Expr.java:30)
at com.mendix.languages.mxexpressions.MxExpression.evaluate(MxExpression.scala:14)
at com.mendix.modules.microflowengine.actions.mxobject.ChangeActionItem.expressionResult(ChangeActionItem.scala:23)
at com.mendix.modules.microflowengine.actions.mxobject.ChangeItemsExecutor.$anonfun$executeChanges$1(ChangeItemsExecutor.scala:32)
at com.mendix.modules.microflowengine.actions.mxobject.ChangeItemsExecutor.$anonfun$newValues$1(ChangeItemsExecutor.scala:77)
at com.mendix.basis.action.user.Changer.$anonfun$changeMembers$5(Changer.scala:44)
at com.mendix.basis.action.user.Changer.$anonfun$changeMembers$5$adapted(Changer.scala:44)
at scala.collection.immutable.List.foreach(List.scala:392)
at com.mendix.basis.action.user.Changer.changeMembers(Changer.scala:44)
at com.mendix.basis.action.user.Changer.changeMembers$(Changer.scala:34)
at com.mendix.modules.microflowengine.actions.mxobject.ChangeAction.changeMembers(ChangeAction.scala:15)
at com.mendix.modules.microflowengine.actions.mxobject.ChangeItemsExecutor.executeChanges(ChangeItemsExecutor.scala:35)
at com.mendix.modules.microflowengine.actions.mxobject.ChangeItemsExecutor.executeChanges$(ChangeItemsExecutor.scala:24)
at com.mendix.modules.microflowengine.actions.mxobject.ChangeAction.executeChanges(ChangeAction.scala:15)
at com.mendix.modules.microflowengine.actions.mxobject.CreateChangeAction.execute(CreateChangeAction.scala:27)
at com.mendix.modules.microflowengine.actions.mxobject.CreateChangeAction.execute(CreateChangeAction.scala:10)
at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.java:47)
at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAfterBreakingIfNecessary(MicroflowImpl.java:215)
at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAction(MicroflowImpl.java:165)
at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:46)
at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.doCall(CoreActionHandlerImpl.scala:71)
at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.call(CoreActionHandlerImpl.scala:49)
at com.mendix.core.actionmanagement.CoreAction.call(CoreAction.java:54)
at com.mendix.basis.actionmanagement.ActionManagerBase$1.execute(ActionManagerBase.java:147)
at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:32)
at com.mendix.basis.actionmanagement.ActionManagerBase.executeSync(ActionManagerBase.java:152)
at com.mendix.basis.actionmanagement.MicroflowCallBuilderImpl.execute(MicroflowCallBuilderImpl.scala:40)
at com.mendix.webui.actions.client.ExecuteMicroflowAction.runMicroflow(ExecuteMicroflowAction.scala:76)
at com.mendix.webui.actions.client.ExecuteMicroflowAction.$anonfun$apply$3(ExecuteMicroflowAction.scala:42)
at com.mendix.webui.actions.client.RegularClientAction$Helpers$.$anonfun$liftEither$1(RegularClientAction.scala:29)
at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.$anonfun$apply$4(RegularClientAction.scala:55)
at com.mendix.webui.requesthandling.helpers.StateHandling.withState(StateHandling.scala:35)
at com.mendix.webui.requesthandling.helpers.StateHandling.withState$(StateHandling.scala:32)
at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.withState(RegularClientAction.scala:45)
at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.apply(RegularClientAction.scala:53)
at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.apply(RegularClientAction.scala:45)
at com.mendix.webui.actions.client.ExecuteMicroflowAction.apply(ExecuteMicroflowAction.scala:43)
at com.mendix.webui.actions.client.ExecuteMicroflowAction.apply(ExecuteMicroflowAction.scala:22)
at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$3(RegularClientAction.scala:109)
at scala.util.Try$.apply(Try.scala:213)
at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$2(RegularClientAction.scala:109)
at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$2$adapted(RegularClientAction.scala:107)
at com.mendix.webui.requesthandling.helpers.ContextHandling.$anonfun$inContext$5(ContextHandling.scala:47)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
at com.mendix.basis.actionmanagement.IMonitoredAction$$anon$1.execute(IMonitoredAction.scala:47)
at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:32)
at com.mendix.basis.actionmanagement.IMonitoredAction.monitor(IMonitoredAction.scala:49)
at com.mendix.basis.actionmanagement.IMonitoredAction.monitor$(IMonitoredAction.scala:25)
at com.mendix.webui.requesthandling.helpers.ContextHandling$ClientMonitoredAction.monitor(ContextHandling.scala:59)
at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext(ContextHandling.scala:47)
at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext$(ContextHandling.scala:27)
at com.mendix.webui.actions.client.RegularClientAction.inContext(RegularClientAction.scala:86)
at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext(ContextHandling.scala:24)
at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext$(ContextHandling.scala:19)
at com.mendix.webui.actions.client.RegularClientAction.inContext(RegularClientAction.scala:86)
at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$1(RegularClientAction.scala:107)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
at com.mendix.webui.requesthandling.helpers.ProfileHandling.profileRequest(ProfileHandling.scala:14)
at com.mendix.webui.requesthandling.helpers.ProfileHandling.profileRequest$(ProfileHandling.scala:10)
at com.mendix.webui.actions.client.RegularClientAction.profileRequest(RegularClientAction.scala:86)
at com.mendix.webui.actions.client.RegularClientAction.execute(RegularClientAction.scala:104)
at com.mendix.webui.requesthandling.ClientRequestHandler.handleAction(ClientRequestHandler.scala:104)
at com.mendix.webui.requesthandling.ClientRequestHandler.processRequest(ClientRequestHandler.scala:81)
at com.mendix.externalinterface.connector.RequestHandler.doProcessRequest(RequestHandler.java:40)
at com.mendix.external.connector.MxRuntimeConnector$1.execute(MxRuntimeConnector.java:76)
at com.mendix.external.connector.MxRuntimeConnector$1.execute(MxRuntimeConnector.java:73)
at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:32)
at com.mendix.external.connector.MxRuntimeConnector.processRequest(MxRuntimeConnector.java:79)
at com.mendix.basis.impl.MxRuntimeImpl.processRequest(MxRuntimeImpl.java:988)
at com.mendix.m2ee.appcontainer.server.handler.RuntimeHandler.service(RuntimeHandler.java:42)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:547)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1610)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1300)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1215)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:500)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
at java.base/java.lang.Thread.run(Thread.java:834)
Okay, then I understand. 150 milliseconds is the correct amount in this case. 1 tenth, 5 hundreds, 0 milliseconds :)
Then it works like this:
parseDateTime($entity/string + '0' , 'mm:ss,SSS')
Thanks!