2011-03-21 23 views
26

tengo una fecha variable defecha de conversión

var date: Date = new Date() 

entonces he convertido esta fecha para la secuencia:

ahora tengo que convertir de nuevo esta Cadena hasta la fecha. He intentado tanto:

1:

var stringToDate: Date = date2Str.asInstanceOf[Date] 

y 2:

stringToDate: Date = new SimpleDateFormat("dd.MM.yyyy").parse(dateStr); 

Pero en ambos casos tengo el error:

java.lang.ClassCastException: 
java.lang.String cannot be cast to java.util.Date 
+2

necesito CONVERTA una fecha con el siguiente formato : "22-AUG-11" hasta la fecha !! – Echo

Respuesta

46

veo un par de problemas en su código, pero esto funciona bien:

scala> val format = new java.text.SimpleDateFormat("dd-MM-yyyy") 
format: java.text.SimpleDateFormat = [email protected] 

scala> format.format(new java.util.Date()) 
res4: java.lang.String = 21-03-2011 

scala> format.parse("21-03-2011") 
res5: java.util.Date = Mon Mar 21 00:00:00 CET 2011 
+0

Esto es super. ¿Cómo puedo utilizar una fecha del siguiente formato: "22-AUG-11" hasta la fecha – Echo

+0

Gracias Wilfred, funciona ahora. – Echo

+1

@Echo "dd-MMM-aa" ... ver http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html –

3

su primer intento debe dar usted es una ClassCastException porque no puede cast.aString a una fecha. el segundo intento no parece estar utilizando el formato correcto que imprime Date.toString(). El método toString de java.utility.Date devuelve un String en el formato especificado en javadoc.

+0

Sobre el segundo enfoque, necesito convertir la siguiente cadena "22-AUG-11" en una fecha. ¡Cómo! – Echo

+0

¿Qué tal el formato String 'dd-MMM-yy'. Compruebe el [javadoc para SimpleDateFormat] (http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html) que muestra un resumen de lo que puede usar en el patrón de fecha. – krock

+0

Hola Krock, este formato es lo que estaba buscando. Thx – Echo

3

usando nscala-time los siguientes trabajó para mí:

import com.github.nscala_time.time._ 
import com.github.nscala_time.time.Imports._ 

val ysterday= (DateTime.now- 1.days).toString(StaticDateTimeFormat.forPattern("yyyyMMdd")) 
Cuestiones relacionadas