Inserir data em Formato diferente
26/11/2012 14:42
0
E ai galera,

estou fazendo uma importação de dados de um CSV e ta dando erro na inserção de data que esta no formato dd/MM/yyyy (26/11/2012, por exemplo). Tentei fazer o comando:


import java.text.SimpleDateFormat

def var = '26/11/2012'
dominio.data = new SimpleDateFormat('d/M/yyy').parse(var)


E não deu certo. Também tentei:


def var = '01/05/1985'
def formato = 'd/M/yyy'
dominio.admissao = new Date().parse(formato, var)
println dominio.admissao


Porem sempre da o erro:

java.text.ParseException: Unparseable date: "Admiss�o"

at java.text.DateFormat.parse(DateFormat.java:357)

at org.codehaus.groovy.runtime.DefaultGroovyStaticMethods.parse(DefaultGroovyStaticMethods.java:181)

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 com.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1237)

at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:51)

at org.codehaus.groovy.runtime.metaclass.NewStaticMetaMethod.invoke(NewStaticMetaMethod.java:51)

at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:148)

at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:88)

at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)

at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)

at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)

at Script1.inseriregistro(Script1.groovy:77)

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 com.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1237)

at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)

at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1071)

at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1110)

at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:901)

at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016)

at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1110)

at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:901)

at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)

at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)

at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)

at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)

at Script1$_run_closure1.doCall(Script1.groovy:110)

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 com.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1237)

at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)

at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1071)

at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1110)

at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:901)

at groovy.lang.Closure.call(Closure.java:415)

at groovy.lang.Closure.call(Closure.java:428)

at org.codehaus.groovy.runtime.DefaultGroovyMethods.callClosureForLine(DefaultGroovyMethods.java:3659)

at org.codehaus.groovy.runtime.DefaultGroovyMethods.eachLine(DefaultGroovyMethods.java:15202)

at org.codehaus.groovy.runtime.DefaultGroovyMethods.eachLine(DefaultGroovyMethods.java:15009)

at org.codehaus.groovy.runtime.DefaultGroovyMethods.eachLine(DefaultGroovyMethods.java:14975)

at org.codehaus.groovy.runtime.dgm$189.invoke(Unknown Source)

at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:271)

at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)

at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)

at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)

at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)

at Script1.run(Script1.groovy:110)

at groovy.lang.GroovyShell.evaluate(GroovyShell.java:580)

at groovy.lang.GroovyShell.evaluate(GroovyShell.java:618)

at groovy.lang.GroovyShell.evaluate(GroovyShell.java:589)

at groovy.lang.GroovyShell$evaluate.call(Unknown Source)

at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)

at groovy.lang.GroovyShell$evaluate$0.call(Unknown Source)

at org.grails.plugins.console.ConsoleService.eval(ConsoleService.groovy:57)

at org.grails.plugins.console.ConsoleService$eval$0.callCurrent(Unknown Source)

at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)

at org.grails.plugins.console.ConsoleService$eval$0.callCurrent(Unknown Source)

at org.grails.plugins.console.ConsoleService.eval(ConsoleService.groovy:37)

at org.grails.plugins.console.ConsoleService$eval.call(Unknown Source)

at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)

at org.grails.plugins.console.ConsoleService$eval.call(Unknown Source)

at org.grails.plugins.console.ConsoleController$_closure2.doCall(ConsoleController.groovy:61)

at sun.reflect.GeneratedMethodAccessor606.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:601)

at com.springsource.loaded.ri.OriginalClassInvoker.invoke(OriginalClassInvoker.java:34)

at com.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1260)


Alguém poderia me ajudar a inserir essa data no formato DD/MM/AAAA no campo date de meu dominio.
Tags: data parsing


1
Oi Ilmon,

da uma verificada na sua lógica, muito provavelmente o valor que você está passando para o método parse está inválido.

Digo isto por causa deste detalhe no seu stacktrace:

java.text.ParseException: Unparseable date: "Admiss�o"


0
E ai Henrique blz cara?

o valor de admissao é uma String no formato '01/09/2012'

Pensei que fosse a mascara e já alterei a mesma várias vezes porém o erro continua. Estou baseando o formato através deste link

o que vc acha que pode ser?
26/11/2012 14:50


0
Minha closure de importação esta assim:


def inseriregistro(String reg){

if(reg.count > 3){
def regArray = reg.split(";")


def nome = regArray[0]
String admissao = regArray[1]



def novo = new Usuario()

novo.nome = nome
def formato = 'd/M/y'

novo.dataAdmissao = Date.parse(formato, admissao)
println novo.dataAdmissao


}
}


myFile = new File(pathfull).eachLine{line-> inseriregistro(line)}
26/11/2012 15:00


1
Ola Ilmon!

testei aqui alguns código e funcionou perfeitamente. Como o texto esta sendo gerado em String o parse deveria funcionar a não ser que a fonte de alimentação esteja com dados que não permitem o parse funcionar.

Só pra sabermos ilmon, poste aqui parte de sua fonte de importação.

Abraço
26/11/2012 15:55


1
Ivgsilva,

eu estou tao desesperado com essa importação que esqueci de tirar a primeira linha do arquivo que contem o nome dos campos. rs... valeu pela dica ...

PROBLEMA RESOLVIDO... UFA....

Depois tem que marcar outro churras hein ivgsilva.... some não rapaz...

Abraço galera...
26/11/2012 16:19



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto