Duvida com Calendar

6 respostas
L

Como posso descobrir se é domingo,ou sabado em um GregorianCalendar?
Alguem pode me ajudar?
obrigado,abraços.

6 Respostas

marciocamurati

Cara basta dar uma lida na documentação:

http://java.sun.com/j2se/1.4.2/docs/api/java/util/GregorianCalendar.html

  • Exemplo da documentação:
Calendar calendar = new GregorianCalendar();
System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));

[]s

felipealbuquerque

Utilize o método get. Exemplo:

System.out.println(Calendar.getInstance().get(Calendar.DAY_OF_WEEK));
von.juliano
if(calendar.get(Calendar.DAY_OF_WEEK) == Calendar.TUESDAY) ...

Blz? Flw! :thumbup:

L

obrigado pelas dicas pessoal,mas vejam o que estou tentado fazer:

public String somaData(int dias){
	 Calendar calendar = new GregorianCalendar();
		String data =( calendar.get(Calendar.DAY_OF_MONTH) + "/"
				+ (calendar.get(Calendar.MONTH) + 1) + "/"
				+ calendar.get(Calendar.YEAR));
		System.out.println(data);
		calendar.add(Calendar.DAY_OF_MONTH, + dias);
		
		String dataVencimento = calendar.get(Calendar.DAY_OF_MONTH) + "/"
				+ (calendar.get(Calendar.MONTH) + 1) + "/"
				+ calendar.get(Calendar.YEAR);	
		return dataVencimento;
     }

eu passo para o metodo uma quantidade de dias e quero que ele me retorne a data acrescida destes dias,
ex:
data atual é 1/1/2007 eu passo 60 dias para o metodo ele tem que me retornar 1/3/2007.
Porem desta maneira ele me retorna 8/2/2008,onde estou errando?
obrigado.

T
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;


public class SomaDatas {
	/**
	 * Soma N dias ao dia de hoje.
	 * @param nDias A quantidade de dias a somar.
	 * @return A representação da data, no formato "dd/MM/yyyy"
	 */
	public static String somaData (int nDias) {
		Calendar cal = Calendar.getInstance();
		cal.add(Calendar.DATE, nDias);
		DateFormat df = new SimpleDateFormat ("dd/MM/yyyy");
		return df.format (cal.getTime());
	}
	/**
	 * Soma N dias ao dia passado como parâmetro.
	 * @param data O dia, em formato "dd/MM/yyyy" 
	 * @param nDias A quantidade de dias a somar.
	 * @return A representação da data, no formato "dd/MM/yyyy"
	 * @throws ParseException Se a data passada estiver em formato incorreto.
	 */
	public static String somaData (String data, int nDias) throws ParseException {
		Calendar cal = Calendar.getInstance();
		DateFormat df = new SimpleDateFormat ("dd/MM/yyyy");
		Date dt = df.parse(data);
		cal.setTime(dt);
		cal.add(Calendar.DATE, nDias);
		return df.format (cal.getTime());
	}	
	public static void main(String[] args) throws Exception {
		System.out.println (somaData ("01/01/2007", 60)); // imprime 02/03/2007 - não se esqueça que fevereiro tem 28 dias
	}
}
T

A propósito, não sei onde você está errando. Você precisaria debugar seu código.

Criado 3 de junho de 2008
Ultima resposta 3 de jun. de 2008
Respostas 6
Participantes 5