Arquivo: Datas.java.
Cambada e so copiar e colar numa classe nova chamada Datas.
Não esqueçam de mudar o nome do pacote.
Abrass
Cristiano
package SeuPacote;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.Format;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
/**
* versao 1.0
* @autor Cristiano Silveira
*/
public abstract class Datas {
public static void main(String[] args) {
System.out.println(Datas.Formatar("dd/MM/yyyy", getDataAtualCalendar().getTime()));
System.out.println(Datas.Formatar("dd/MM/yyyy", (Datas.addDias(Datas.getDataAtualCalendar(), 10).getTime())));
}
/**
*
* @param mascara mascara tipo yyyy-mm-dd hh:mm:ss
* @param data uma variavel data
* @return retorna uma string com a mascara data formatada
*/
public static String Formatar(String mascara, Date data) {
if (data == null) {
return "";
}
Format formato = new SimpleDateFormat(mascara);
return formato.format(data.getTime());
}
/**
* Adiciona um determinado numero de dias a uma Calendar
* @param calendar instancia de Calendar
* @param dias numero de dias a adicionar
* @return retorna um Calendar com os dias somados
*/
public static Calendar addDias(Calendar calendar, int dias) {
calendar.add(Calendar.DAY_OF_MONTH, dias);
return calendar;
}
/**
* Adiciona um determinado numero de dias a uma String
* @param data String com uma data valida
* @param dias numero de dias a adicionar
* @return retorna uma string com os dias somados
*/
public static String addDias(String data, int dias) {
Calendar calendar = stringToCalendar(data);
calendar = addDias(calendar, dias);
String dataStr = Formatar("dd/MM/yy", calendar.getTime());
return dataStr;
}
/**
* Verifica se a data é valida ou nao
* @param dateStr data a ser validada
* @return retorna true ou false
*/
public static boolean validarData(String dateStr) {
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
//definindo que se mesmo que a formatacao esteja certa ams a data errada, da false
df.setLenient(false);
Calendar cal = new GregorianCalendar();
try {
// gerando o calendar
cal.setTime(df.parse(dateStr));
} catch (ParseException ex) {
JOptionPane.showMessageDialog(null, "Data invalida!!");
return false;
}
// separando os dados da string para comparacao e validacao
String[] data = dateStr.split("/");
String dia = data[0];
String mes = data[1];
String ano = data[2];
// testando se hah discrepancia entre a data que foi
// inserida no caledar e a data que foi passada como
// string. se houver diferenca, a data passada era
// invalida
if ((new Integer(dia)).intValue() != (new Integer(cal.get(Calendar.DAY_OF_MONTH))).intValue()) {
// dia nao casou
return (false);
} else if ((new Integer(mes)).intValue() != (new Integer(cal.get(Calendar.MONTH) + 1)).intValue()) {
// mes nao casou
return (false);
} else if ((new Integer(ano)).intValue() != (new Integer(cal.get(Calendar.YEAR))).intValue()) {
// ano nao casou
return (false);
}
return (true);
}
/**
*
* @return uma instancia de Calendar com a data atual do computador
*/
public static Calendar getDataAtualCalendar() {
Date date = new Date();
Calendar c = Calendar.getInstance();
c.setTime(date);
return c;
}
public static Timestamp getDataAtualTimeStamp() {
return new Timestamp(getDataAtualCalendar().getTimeInMillis());
}
public static Date getDataAtualDate() {
return new Timestamp(getDataAtualCalendar().getTimeInMillis());
}
public static Timestamp getDataAtualTimeStampHoraZero(){
try {
return stringToTimeStamp(Formatar("dd/MM/yyyy", getDataAtualCalendar().getTime()));
} catch (ParseException ex) {
Logger.getLogger(Datas.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
public static Calendar stringToCalendar(String data) {
Calendar cal = Calendar.getInstance();
cal.setTime(stringToDate(data));
return cal;
}
public static Date stringToDate(String data) {
try {
DateFormat formatter;
Date date;
formatter = new SimpleDateFormat("dd/MM/yyyy");
date = (Date) formatter.parse(data);
return date;
} catch (ParseException e) {
System.out.println("Exception :" + e);
}
return null;
}
public static java.sql.Date stringToSqlDate(String data) {
return new java.sql.Date(stringToCalendar(data).getTimeInMillis());
}
public static Timestamp stringToTimeStamp(String data) throws ParseException {
SimpleDateFormat sdf;
if (data.length() == 19) {
sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
} else {
sdf = new SimpleDateFormat("dd/MM/yyyy");
}
Date date = null;
date = sdf.parse(data);
return new java.sql.Timestamp(date.getTime());
}
public static Timestamp dateToTimeStamp(Date data) {
try {
return stringToTimeStamp(Formatar("dd/MM/yyyy", data));
} catch (ParseException ex) {
Logger.getLogger(Datas.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
public static String getDiaSemanaExtenso(Calendar data) {
switch (data.get(Calendar.DAY_OF_WEEK)) {
case Calendar.SUNDAY:
return "Domingo";
case Calendar.MONDAY:
return "Segunda Feira";
case Calendar.TUESDAY:
return "Terça Feira";
case Calendar.WEDNESDAY:
return "Quarta Feira";
case Calendar.THURSDAY:
return "Quinta Feira";
case Calendar.FRIDAY:
return "Sexta Feira";
case Calendar.SATURDAY:
return "Sábado";
}
return null;
}
}
Nenhum comentário:
Postar um comentário