Duvida...converter String para Date ...a hora parece 12 queria que fosse zero?

4 respostas
P

Olá,

recebo uma String no formato(dd/mm/yyyy) , por exemplo 25/11/2011 para converter pra Date

mas a hora aparece como 12:00:00 queria que ficasse zero como faço ???

abs

(java.util.Date) Thu Jan 01 12:00:00 BRST 2009
public static Date convertStringToDate(String date) throws BaseException {
		Date out = new Date();
		Calendar cal = Calendar.getInstance();
		
		int monthDate =0;
		try{
			
	        int ano = Integer.parseInt(date.substring(6,10));
	        int mes = Integer.parseInt(date.substring(3,5));
	        int dia = Integer.parseInt(date.substring(0,2));
			
	        if(mes ==1)
	        	monthDate = Calendar.JANUARY;
	        if(mes ==2)
	        	monthDate = Calendar.FEBRUARY;
	        if(mes ==3)
	        	monthDate = Calendar.MARCH;
	        if(mes ==4)
	        	monthDate = Calendar.APRIL;
	        if(mes ==5)
	        	monthDate = Calendar.MAY;
	        if(mes ==6)
	        	monthDate = Calendar.JUNE;
	        if(mes ==7)
	        	monthDate = Calendar.JULY;
	        if(mes ==8)
	        	monthDate = Calendar.AUGUST;
	        if(mes ==9)
	        	monthDate = Calendar.SEPTEMBER;
	        if(mes ==10)
	        	monthDate = Calendar.OCTOBER;
	        if(mes ==11)
	        	monthDate = Calendar.NOVEMBER;
	        if(mes ==12)
	        	monthDate = Calendar.DECEMBER;

	        cal.set(Calendar.YEAR,ano);
	        cal.set(Calendar.MONTH, monthDate);
	        cal.set(Calendar.DAY_OF_MONTH, dia);
	        cal.set(Calendar.HOUR, 0);
	        cal.set(Calendar.MINUTE, 0);
	        cal.set(Calendar.SECOND, 0);
	    
	        out= cal.getTime();
(java.util.Date) Thu Jan 01 12:00:00 BRST 2009

4 Respostas

T

Não use HOUR porque isso é para visualização em inglês (lembre-se, eles têm AM e PM). Se você precisa da visualização de horário 24 horas, use HOUR_OF_DAY ( http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#HOUR_OF_DAY ).

panthovillas
String sDate = "08/04/2009";
        SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");

        Date date = null;
        try {
            date = new Date(dateFormat.parse(sDate).getTime());
        } catch (ParseException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }
T

De fato, a solução do panthovillas é a mais indicada. Não reinvente a roda :stuck_out_tongue:

P

informo a data inicial 06/04/2009 e data final 06/04/2019 na tela de consulta

e no banco de dados está assim :

data inicial :2009-04-06 12:10:49
data final : 2019-04-06 12:10:49

porque não tras nada …


CriteriaImpl(br.com.certisign.ims.data.model.certificate.ImsDigitalCertificateImpl:imsdigitalcertificateimpl[][notBefore>=Wed Feb 06 00:00:00 BRST 2008, notAfter<=Sat Apr 06 00:00:00 BRT 2019, ()])
public static Date convertStringToDate(String date) throws BaseException {
		Date out = new Date();
		SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");  
		
		try{
			out = new Date(dateFormat.parse(date).getTime());  
		} catch(Exception e) {
			//throw new BaseException(e, "CriteriaSearchDetail", "convertStringToCalendar", "1");
		}
		return out;
	}
Criado 8 de abril de 2009
Ultima resposta 8 de abr. de 2009
Respostas 4
Participantes 3