Fallo al reconocer una fecha
EnvÃo este código a ver si alguien da con el motivo de que no me reconozca una fecha correctamente formateada o se trata de un problema de la clase Scanner:
// Formatted date / Fecha formateada
String formattedDate=new java.text.SimpleDateFormat().format(new Date());
// Date format / Formato de fecha
String dateFormat=new java.text.SimpleDateFormat().toPattern();
// Scanner who read date / Scanner que lee la entrada
java.util.Scanner conin=new java.util.Scanner(formattedDate);
// Screen output of date and date format / Salida a pantalla de fecha y
// formato de fecha
System.out.printf(\"date: %s date format: %s%n\",formattedDate,dateFormat);
// Method which should print good! / Método que deberÃa mostrar good!
System.out.println(conin.hasNext(dateFormat)?\"good!\":\"bad!\");
Muchas gracias por vuestra ayuda
// Formatted date / Fecha formateada
String formattedDate=new java.text.SimpleDateFormat().format(new Date());
// Date format / Formato de fecha
String dateFormat=new java.text.SimpleDateFormat().toPattern();
// Scanner who read date / Scanner que lee la entrada
java.util.Scanner conin=new java.util.Scanner(formattedDate);
// Screen output of date and date format / Salida a pantalla de fecha y
// formato de fecha
System.out.printf(\"date: %s date format: %s%n\",formattedDate,dateFormat);
// Method which should print good! / Método que deberÃa mostrar good!
System.out.println(conin.hasNext(dateFormat)?\"good!\":\"bad!\");
Muchas gracias por vuestra ayuda
si quieres formatear una fecha solo haz esto por ejemplo:
SimpleDateFormat sdf = new SimpleDateFormat( "dd/MM/yyyy" );
try {
Date date = sdf.parse( stringFecha );
}
catch( ParseException ) {
// error al convertir
}
si no es eso lo q buscas quiza podras ser mas especifico
SimpleDateFormat sdf = new SimpleDateFormat( "dd/MM/yyyy" );
try {
Date date = sdf.parse( stringFecha );
}
catch( ParseException ) {
// error al convertir
}
si no es eso lo q buscas quiza podras ser mas especifico
Gracias por contestar, pero lo que yo quiero en realidad es usar la clase java.util.Scanner con el método findWithinHorizon(patrón,0) en un bucle:
Scanner lector=new Scanner(new File("archivo.txt"));
String fecha;
String formatoFecha=new java.text.SimpleDateFormat().toPattern();
while(fecha=lector.findWithinHorizon(formatoFecha,0)!=null){
// Operar con la fecha
}
De este modo 'en teorÃa' pueden obtenerse todas las fechas disponibles (o cualquier objeto formateado) de cualquier fuente de caracteres, como un archivo, y operar con ellas ignorando todos los demás tokens. Aún asÃ, tu solución creo que me podÃa servir: llamando al método hasNext y next, y operando con cada String con parse para obtener una fecha.
Un saludo.
Scanner lector=new Scanner(new File("archivo.txt"));
String fecha;
String formatoFecha=new java.text.SimpleDateFormat().toPattern();
while(fecha=lector.findWithinHorizon(formatoFecha,0)!=null){
// Operar con la fecha
}
De este modo 'en teorÃa' pueden obtenerse todas las fechas disponibles (o cualquier objeto formateado) de cualquier fuente de caracteres, como un archivo, y operar con ellas ignorando todos los demás tokens. Aún asÃ, tu solución creo que me podÃa servir: llamando al método hasNext y next, y operando con cada String con parse para obtener una fecha.
Un saludo.