Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi All,
I have a requirement to convert a string of type "20190101" getting in a file which has to be converted to date of format "2019-01-01" (YYYY-MM-DD). I tried using TalendDate. Parsedate("YYYY-MM-DD","row1.col1") , TalendDate.ParsedateLocale("YYYY-MM-DD","row1.col1","EN") but nothing works for me, getting compilation error during test and got unparseable date error during execution. I have attached the screenshot for reference.
Anybody help me on this, Thanks in advance.
Hi Shong,
Thanks for your quick support, I have tried with your methodology, but still getting error message as "cannot convert string to date".
Is this related to JVM compatibility? If yes please help me to resolve this. I have mentioned the log details below, .
org.talend.designer.runprocess.ProcessorException: Job compile errors
At least job "AD_BK" has a compile errors, please fix and export again.
Error Line: 1148
Detail Message: Type mismatch: cannot convert from String to Date
There may be some other errors caused by JVM compatibility. Make sure your JVM setup is similar to the studio.
at org.talend.designer.runprocess.JobErrorsChecker.checkLastGenerationHasCompilationError(JobErrorsChecker.java:326)
at org.talend.designer.runprocess.DefaultRunProcessService.checkLastGenerationHasCompilationError(DefaultRunProcessService.java:380)
at org.talend.designer.runprocess.RunProcessService.checkLastGenerationHasCompilationError(RunProcessService.java:292)
at org.talend.designer.runprocess.ProcessorUtilities.generateBuildInfo(ProcessorUtilities.java:634)
at org.talend.designer.runprocess.ProcessorUtilities.generateCode(ProcessorUtilities.java:523)
at org.talend.designer.runprocess.ProcessorUtilities.generateCode(ProcessorUtilities.java:1413)
at org.talend.designer.runprocess.RunProcessContext$1.run(RunProcessContext.java:576)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:466)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:374)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:527)
at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:284)
at org.eclipse.ui.internal.progress.ProgressManager.run(ProgressManager.java:1190)
at org.talend.designer.runprocess.RunProcessContext.exec(RunProcessContext.java:531)
at org.talend.designer.runprocess.ui.ProcessComposite.exec(ProcessComposite.java:1450)
at org.talend.designer.runprocess.ui.views.ProcessView$RunAction.run(ProcessView.java:691)
at org.talend.designer.runprocess.ui.actions.RunProcessAction.run(RunProcessAction.java:58)
at org.talend.designer.core.debug.JobLaunchConfigurationDelegate$1.run(JobLaunchConfigurationDelegate.java:84)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4147)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3764)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.talend.rcp.intro.Application.start(Application.java:255)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
Hi Manohar,
Thank you so much , Its working!!. I tried converting an invalid date "20200231" expectation is to get an error message as invalid date, but Talend converts into "2020-02-31". Can you please look into this and guide me with your inputs.
@ManojKD , are you sure about your data ? are you getting data like 20190101 ,if yes below expression and my other solution should work. if you still see an error then should be null or space or some other format may be you have in your data, you need to check the data.
you need to add below way for @shong solution.
TalendDate.parseDate("yyyy-MM-DD",TalendDate.formatDate("yyyy-MM-DD",TalendDate.parseDate("yyyyMMdd",row6.sting_date)))
great @ManojKD