Galera estou fazendo um sistema de agendamento de compromisso, porem ele tem que estar verificando se a data escolhida esta ocupada, Sendo uqe o usuario escolhe a data e hora inicial e a data e hora final. Comecei a fazer da seguinte forma, porem nao esta funcionando mto bem.:
======== | VALIDAÇAO DE DATA NO EVENTO DO BOTAO | ============
// SE A DATA INICIAL ESTA DEPOIS DA DATA FINAL if(jDateChooserDataInicial.getDate().after(jDateChooserDataFinal.getDate())){ JOptionPane.showMessageDialog(null, "Horario Indisponivel! \nA data final escolhida não pode ser anterior a data inicial \nEscolha outro e tente novamente."); salva = 0; // SE A DATA INICIAL ESTA ANTES DA DATA ATUAL }else if(jDateChooserDataInicial.getDate().before(currentData)){ JOptionPane.showMessageDialog(null, "Horario Indisponivel! \nA data inicial escolhida não pode ser anterior a data atual \nEscolha outro e tente novamente."); salva = 0; }else{ try { while(conex.rs.next()){ // SE A DATA INICIAL ESCOLHIDA É IGUAL A DATA FINAL DE ALGUM COMPROMISSO JA SALVO NO BD. if(Util.formataData_ddMMyyyy(jDateChooserDataInicial.getDate()).equals(Util.formataData_ddMMyyyy(conex.rs.getDate("DATAFINAL")))){ // SE A HORA INICIAL É ANTES DE ALGUMA HORA FINAL DE ALGUM COMPROMISSO JA SALVO NO BD. if (Util.converterStringTime(Util.formataHora_HHmm((Date) jSpinnerHoraInicial.getValue())).before (Util.converterStringTime(Util.formataHora_HHmm((Date) (conex.rs.getTime("HORAFINAL")))))) { JOptionPane.showMessageDialog(null, "Horario Indisponivel! \nJá existe um compromisso com essa mesma hora inicial \nEscolha outro e tente novamente."); salva = 0; break; } // SE A DATA FINAL ESCOLHIDA É IGUAL A DATA INICIAL DE ALGUM COMPROMISSO JA SALVO NO BD. }else if(Util.formataData_ddMMyyyy(jDateChooserDataFinal.getDate()).equals(Util.formataData_ddMMyyyy(conex.rs.getDate("DATAINICIAL")))){ // SE A HORA FINAL É DEPOIS DE ALGUMA HORA INICIAL ALGUM COMPROMISSO JA SALVO NO BD. if (Util.converterStringTime(Util.formataHora_HHmm((Date) jSpinnerHoraFinal.getValue())).after (Util.converterStringTime(Util.formataHora_HHmm((Date) (conex.rs.getTime("HORAINICIAL")))))) { JOptionPane.showMessageDialog(null, "Horario Indisponivel! \nJá existe um compromisso com essa mesma hora final \nEscolha outro e tente novamente."); salva = 0; break; } // SE AS DATAS ESTAO ENTRE ALGUM COMPROMISSO JA SALVO NO BD. }else if(jDateChooserDataInicial.getDate().after(conex.rs.getDate("DATAINICIAL")) && jDateChooserDataFinal.getDate().before(conex.rs.getDate("DATAFINAL"))){ JOptionPane.showMessageDialog(null, "Horario Indisponivel! \nVoce não pode salvar um compromisso no meio de outro já existente \nEscolha outro e tente novamente."); salva = 0; break; } } } catch (SQLException ex) { } }`
============ | OS METODOS DE CONVERSAO USADO | =============
> // ||||||||| FORMATA DATA dd/MM/yyyy ||||||||||
> public static String formataData_ddMMyyyy(java.util.Date data){
> SimpleDateFormat sdf = new SimpleDateFormat(“dd/MM/yyyy”);
> java.util.Date dt = data;
> String dataFormatada = sdf.format(dt);
> return dataFormatada;
> }
> // ||||||||| FORMATA HORA HH:mm||||||||||
> public static String formataHora_HHmm(java.util.Date hora){
> SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
> java.util.Date hr = hora;
> String horaFormatada = sdf.format(hr);
> return horaFormatada;
> }
> // ||||||||| CONVERTER STRING PARA DATA ||||||||||
> public static Date converterStringDate(String data){
> try {
> SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
> Date date = (Date)formatter.parse(data);
>
> return date;
> } catch (ParseException ex) {
> Logger.getLogger(Util.class.getName()).log(Level.SEVERE, null, ex);
> }
> return null;
> }
> // ||||||||| CONVERTER JSPINNER DE DATE PARA TIME||||||||||
> public static Time converterJspinnerDateTime(java.util.Date hora){
> Time horaFormatadaTry = null;
> try {
> SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
>
> java.util.Date hr = (java.util.Date) hora;
> String horaFormatada = sdf.format(hr);
>
> String str = (String) hora.toString();
> java.util.Date data = sdf.parse(horaFormatada);
> Time horaFormatadaTime = new Time(data.getTime());
> horaFormatadaTry = horaFormatadaTime;
> return horaFormatadaTime;
> } catch (ParseException ex) {
> System.out.println("Erro ao converterJspinnerDateTime \n\n");
> Logger.getLogger(Util.class.getName()).log(Level.SEVERE, null, ex);
> }
> return horaFormatadaTry;
> }
>
> // ||||||||| FORMATA HORA HH:mm||||||||||
> public static Time converterStringTime(String str){
> try {
> SimpleDateFormat formatador = new SimpleDateFormat("HH:mm");
> Date data = formatador.parse(str);
> Time time = new Time(data.getTime());
> return time;
> } catch (ParseException ex) {
> Logger.getLogger(Util.class.getName()).log(Level.SEVERE, null, ex);
> }
> return null;
> }