1

実際の日付とデータベースの値から日付を引いたものを取得する必要があります。現在nowの日付はで、データベースの日付はですthis.vencimento

  public boolean getDiasVencido() {
    boolean diasvencido = false;                

    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
    Date datahora = null;       
    try {
        datahora = (Date) formatter.parse(this.vencimento);
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    Date now = new Date();      
    if(datahora.compareTo(now) < 0 ) { 


        long diff = "DATE NOW - DATE FROM DATABASE (this.vencimento)";
        long days = diff / (24 * 60 * 60 * 1000);

        diasvencido = true; 

    }
    return diasvencido;
}

クラスに設定された変数:

     public class classetitulo {

private String documento;
private String vencimento;
private Double valor;
private Double multa;
private Double juros;

public classetitulo() {}

public classetitulo(String documento, String vencimento, Double valor, Double multa, Double juros) {
    this.documento = documento;
    this.vencimento = vencimento;
    this.valor = valor;
    this.juros = juros;
    this.multa = multa;
}

どうしたらいいのかよくわかりません。前もって感謝します。

4

2 に答える 2

1

これを試して:

this.diasvencido = Integer.parseInt(""+(((now.getTime() - datahora.getTime()) / (1000 * 60 * 60 * 24))));

それは時間内に日付を取得し、結果をDaysに与える日ごとに時間を計ります。

于 2012-10-26T19:46:55.757 に答える
0

あなたはこれを試すことができます。これは、現在までに経過した日数を計算する方法です。

long now = System.currentTimeMillis();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
try {
     long dataHora = formatter.parse(this.vencimento).getTime();
     long duration = Math.abs(now - dataHora);
     long diff = duration / DateUtils.DAY_IN_MILLIS;
}
catch (ParseException e) {
     e.printStackTrace();
}

クラスDateUtilsはAPIレベル3以降で使用できますが、の値はいつでも自分で計算できDateUtils.DAY_IN_MILLISます。

于 2012-10-26T19:08:39.973 に答える