Datas

6 respostas
T

Tenho uma Data X em um jTextField1 e outra Data Y em outro jTextField2.
Como faço para verificar se a Data Y é menor que a Data X?
Por que não pode ser:
if Data Y < Data X ???

Obrigada,

6 Respostas

R

olá…

se te ajudar vai uma dica…

import java.sql.Date;

public class TesteTimestamp &#123;

	public static void main&#40;String&#91;&#93; args&#41; &#123;

		Date tt = new Date&#40;2004-1900,11-1,30&#41;;//o 1900 apenas correção tem q ter
		System.out.println&#40;tt&#41;;
		
		Date ttt = new Date&#40;2005-1900,11-1,30&#41;;//o 1900 apenas correção tem q ter
		System.out.println&#40;ttt&#41;;
		if&#40;tt.before&#40;ttt&#41;&#41;&#123;//se for anterior....
			System.out.println&#40;"sim"&#41;;
		&#125;
		else&#123;
			System.out.println&#40;"não"&#41;;
		&#125;
	&#125;
&#125;

o before verifica se é anterior tá…
ok…

R

Tenho uma Data X em um jTextField1 e outra Data Y em outro jTextField2.
Como faço para verificar se a Data Y é menor que a Data X?

olha na API, Calendar ou GregorianCalendar…

Por que não pode ser:
if Data Y < Data X ???

o que é essa Data??? tu colocou como Date, Calendar ou String???

se ela é objeto de uma classe, so essa classe sabe os metodos que podem ser usados…

> < são operadores de comparação pra valores numericos

Obrigada

Espero ter ajudado

[]'s

T

Essa data é do tipo Date…
Como verifico?

R

olá…

ve se fica mais fácil agora pra vc… faz uns testes…

public class TesteTimestamp &#123;

	public static void main&#40;String&#91;&#93; args&#41; &#123;
		//ThisObject.dhProcessamento.after&#40;new java.sql.Timestamp&#40;new java.sql.Date&#40;0002-1900,10,30&#41;.getTime&#40;&#41;&#41;&#41;
		
		//30/11/0002 00&#58;00
		 String dia = JOptionPane.showInputDialog &#40; "Digite um dia"&#41;;
		 String mes = JOptionPane.showInputDialog &#40; "Digite um mes"&#41;;
		 String ano = JOptionPane.showInputDialog &#40; "Digite um ano"&#41;;
		 
		Date tt = new Date&#40;Integer.parseInt&#40;ano&#41;-1900,Integer.parseInt&#40;mes&#41;-1,Integer.parseInt&#40;dia&#41;&#41;;
		//Date tt = new Date&#40;2004-1900,11-1,30&#41;;//o 1900 apenas correção tem q ter
		System.out.println&#40;tt&#41;;
		
		Date ttt = new Date&#40;2005-1900,11-1,30&#41;;//o 1900 apenas correção tem q ter
		System.out.println&#40;ttt&#41;;
		if&#40;tt.before&#40;ttt&#41;&#41;&#123;//se for anterior....
			System.out.println&#40;"sim"&#41;;
		&#125;
		else&#123;
			System.out.println&#40;"não"&#41;;
		&#125;
	&#125;
&#125;

blz…

R

olá se vc quiser pra separar os dados do teu campo…

public class Concatena &#123;

	public static void main&#40;String&#91;&#93; ricardo&#41; &#123;
		String completo = "10/12/2000";
		String a = "";
		String b = "";
		String c = "";
		String&#91;&#93; tudo = null;
		tudo = completo.split&#40;"/"&#41;;//qualquer seoparador que estiver na String completo funfa.....

		for &#40;int i = 0; i &lt; tudo.length; i++&#41; &#123;
			System.out.println&#40;"separado  " + tudo&#91;i&#93;&#41;;
		&#125;
		a = tudo&#91;0&#93;;
		b = tudo&#91;1&#93;;
		c = tudo&#91;2&#93;;
		System.out.println&#40;"a =   " + a&#41;;
		System.out.println&#40;"b =  " + b&#41;;
		System.out.println&#40;"c =  " + c&#41;;

	&#125;
&#125;

dá uma olhada neste exemplo…

ok…

E
private void VerificarData()

{

String dtData = jtfDtAssinatura.getText();

dtData = dtData.replaceAll("/","");

int dia = Integer.parseInt(dtData.substring(0,2));

int mes = Integer.parseInt(dtData.substring(2,4));

int ano = Integer.parseInt(dtData.substring(4,8));
String dtData1 = jtfDtInicioAtividades.getText();

dtData1 = dtData1.replaceAll("/","");

int dia1 = Integer.parseInt(dtData1.substring(0,2));

int mes1 = Integer.parseInt(dtData1.substring(2,4));

int ano1= Integer.parseInt(dtData1.substring(4,8));

System.out.println("verificar data ano = " + ano + "ano1 = " + ano1 );

if(ano > ano1)

{

JOptionPane.showMessageDialog(this, Data de Assinatura deve       ser menor ou igual a Data de Início das Atividades);

jtfDtAssinatura.requestFocus();

}else{

if (ano == ano1 && mes > mes1)

{

JOptionPane.showMessageDialog(this, Data de Assinatura deve ser menor ou igual a Data de Início das Atividades);

jtfDtAssinatura.requestFocus();

}else{

if (ano == ano1 && mes == mes1  && dia > dia1)

{

JOptionPane.showMessageDialog(this, Data de Assinatura deve ser menor ou igual a Data de Início das Atividades);

jtfDtAssinatura.requestFocus();

}

}	

}

}

nao e a melhor maneira…mas funciona certin
[]´s

Criado 6 de julho de 2005
Ultima resposta 7 de jul. de 2005
Respostas 6
Participantes 4