Pessoal.
Estou fazendo um programa que compara 2 datas, sendo que estas 2 datas são 2 strings eu converti o resultado delas para o tipo Date.
Mas o para a comparação que preciso fazer os métodos after ou before não me ajudo pois preciso saber se lastRunDate é maior que a getTime() - 12 horas.
Para isso pensei em converter de Date para long.
Alguém sabe como converter variáveis do tipo Date para Long, ou teriam uma outra forma de fazer esta comparação?
Vejam a minha classe abaixo:
Code:
/*
-
@author Bruno Gambier
*/
import java.io.;
import java.util.;
import java.util.Date;
import java.security.Timestamp;
import java.util.GregorianCalendar;
import java.text.SimpleDateFormat;
import javax.swing.*;
import java.text.ParseException;
import java.util.Calendar;
public class backupmonitor {
//Nome do job
private String nomeJob = “Teste Backup”;
//Historico sobre a execução do job
String historico;
//Descrição do backup
private String descricao = “Backup full”;
//inicio da execução - hh:mm:ss
private String startTime = “23:59:59”;
//ultima execução* - hh:mm:ss
private String lastRunTime = “000000”;
//Data da ultima execução
private String lastRunDate = “2006-05-12 15:35:03”;
String a[] = lastRunDate.split("-");
//Hora/Minuto da próxima execução
private String nextRunTime = "002000";
//Data da próxima execução
private String nextRunDate = "2006-05-13 18:25:10";
//Tempo de duração da ultima execução
private String lastDuration = "004000";
//Média de tempo de execução
private int medExec;
//Endereço da imagem do fundo da página
private String backGround;
private Date last;
private Date next;
// Creates a new instance of backupmonitor
public backupmonitor() {
}
// Creates a new instance of backupmonitor
public backupmonitor(String nomeJob, String historico, String descricao,
String lastRunTime,String lastRunDate, String nextRunTime, String nextRunDate,
String lastDuration,int medExec, String backGround) {
this.nomeJob = nomeJob;
this.historico = historico;
this.descricao = descricao;
this.lastRunTime = lastRunTime;
this.lastRunDate = lastRunDate;
this.nextRunTime = nextRunTime;
this.nextRunDate = nextRunDate;
this.lastDuration = lastDuration;
this.backGround = backGround;
this.medExec = medExec;
}
/**public Greg(int year, int month, int dayOfMonth){
GregorianCalendar greg = new GregorianCalendar();
this.year = year;
this.month = month;
this.dayOfMonth = dayOfMonth;
}**/
//SETs
public void setNomeJob(String nomeJob) { this.setNomeJob(nomeJob); }
public void setHistorico(String historico) { this.setHistorico(historico); }
public void setDescricao(String descricao) { this.setDescricao(descricao); }
public void setLastRunTime(String lastRunTime) { this.setLastRunTime(lastRunTime); }
public void setLastRunDate(String lastRunDate) { this.setLastRunDate(lastRunDate); }
public void setNextRunTime(String nextRunTime) { this.setNextRunTime(nextRunTime); }
public void setNextRunDate(String nextRunDate) { this.setNextRunDate(nextRunDate); }
public void setLastDuration(String lastDuration){ this.setLastDuration(lastDuration); }
public void setBackGround(String backGround) { this.setBackGround(backGround); }
public void setMedExec(int medExec) { this.setMedExec(medExec); }
public void setDateNow(String dateNow) { this.setDateNow(dateNow); }
public void setTimeNow(String timeNow) { this.setTimeNow(timeNow); }
//GETs
public String getNomeJob() { return nomeJob; }
public String getHistorico() { return historico; }
public String getDescricao() { return descricao; }
public String getLastRunTime() { return lastRunTime; }
public String getLastRunDate() { return lastRunDate; }
public String getNextRunTime() { return nextRunTime; }
public String getNextRunDate() { return nextRunDate; }
public String getLastDuration() { return lastDuration;}
public int getMedExec() { return medExec; }
public String getBackGround() { return backGround; }
/** Retorna a data e horário atual **/
public String Datenow(){
GregorianCalendar thisday = new GregorianCalendar();// instancia objeto Calenário
Date today = new Date();// instanciando o objeto Date
long todayLong = today.getTime() ; // convertendo Date para Long
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //
String daytoday = df.format(today);
return daytoday;
}
public void ConvDt(){
GregorianCalendar thisday = new GregorianCalendar(TimeZone.getTimeZone("GMT"),new Locale("pt","BR"));
Date last = new Date();
Date next = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
try {
last = df.parse(lastRunDate);
next = df.parse(nextRunDate);
this.last = last;
this.next = next;
}
catch(ParseException pe) {
System.out.println("Erro na conversão da data");
}
//Método que calcula a média de execução do backup
}
//método que esta comparando as datas
public boolean execBkp(){
if (this.next.after(this.last))
this.historico = "Backup efetuado com sucesso";
else
this.historico = "Backup não efetuado";
return false;
}
}