Foro sobre Java SE > Problema al manejar Horarios
Con este método puedes convertir una fecha como cadena en el formato DATE de SQL.
Cambiando la máscara "dd-MMM-yyyy" para el segundo SimpleDateFormat puedes adaptarlo a tus necesidades.
A ver si te sirve.
import java.sql.Date;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.logging.Level;
import java.util.logging.Logger;
public class NewMain {
/**
@param args the command line arguments
*/
public static void main(String[] args) {
Date fechaFormatoSQL = getFechaFormatoSQL("01-Ene-2014");
System.out.println("Fecha en formato SQL: " + fechaFormatoSQL);
}
private static java.sql.Date getFechaFormatoSQL(final String fecha) {
java.sql.Date fechaSQL = null;
try {
final DateFormat formatoSQL = new SimpleDateFormat("yyyy-MM-dd");
fechaSQL = new java.sql.Date(formatoSQL.parse(formatoSQL.format(new SimpleDateFormat("dd-MMM-yyyy").parse(fecha))).getTime());
} catch (ParseException ex) {
Logger.getLogger(NewMain.class.getName()).log(Level.SEVERE, null, ex);
}
return fechaSQL;
}
}
Si, gracias. buscando por youtube encontre algo parecido, para convertirlos a string
private String fechaString(Calendar fecha){
//A este método le pasamos un objeto Calendar y la convierte en un String de fecha.
String retorno = null;
//Utilizamos SimpleDateFormat para establecer el formato de la fecha.
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
if(fecha != null){
//Este proceso permite convertir el Objeto Calendar en un formato de fecha útil.
retorno = sdf.format(fecha.getTime());
}
return retorno;
}
///////////////////////////////////////////////////////////////////////////////////
public String horaString(Calendar fecha){
//A este método le pasamos un objeto Calendar y la convierte en un String de hora.
String retorno = null;
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
if(fecha != null){
//Este proceso permite convertir el Objeto Calendar en un formato de hora útil.
retorno = sdf.format(fecha.getTime());
}
return retorno;
}
Y para solucionar lo de los horarios, hice un combobox con los horarios ya ingresados con el intervalo correspondiente, y bueno tuve que cambiar en la base de datos, los tipos de datos de Fecha y hora , pasandolos a varchar. Por lo menos asi funciono algo,
Hola, estoy en la parte de registrar los turnos, anteriormente les pedi info sobre el manejo de fechas y horas, y gracias a los enlaces que me mandaron pude manejar un poco las fechas, bien, el tema es que estoy usando un JDateChooser para seleccionar la fecha y poder registrarla, y utilizo un textField para la hora.
El tema es que en la base de datos, tengo establecido tanto fecha como hora en formato Datetime, y en la clase que hice en netbeans, los estableci a String.
El problema, es que al registrar Turno figura este mensaje:
"No se pudo realizar la insercion:Error de conversión al convertir una cadena de caracteres a datetime"
Nose como debo hacer para guardar la hora del turno (hora que debe ser ingresada o seleccionada por el usuario), que tampoco se como hacerlo(me gustaria hacer, que el usuario eliga el horario que desee). En otro textfield hice que figure la hora actual del sistema, pero hasta ahi nomas llego con lo que sé.
Revise el material que me dieron, me ayudo bastante, pero hay muchas cosas que no entiendo bien, ya que recien estoy adentrandome en el codigo, les agradezco por su ayuda. Si me mandan codigo, podrian colocar algun comentario sobre lo que hace. Gracias