【问题标题】:How to show the date difference in days?如何以天为单位显示日期差异?
【发布时间】:2012-10-26 18:14:36
【问题描述】:

我需要从数据库中的值中获取实际日期并减去日期,现在的日期是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;
}

我不知道该怎么做。提前致谢。

【问题讨论】:

  • 为什么不用像DATEDIFF这样的SQL语句来查询它
  • 怎么样?你能给我举个例子吗?
  • 好的,SQLite 语句到底是什么?
  • 请参考这个问题的[解决][1][1]:stackoverflow.com/questions/6897027/…

标签: android date


【解决方案1】:

试试这个:

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

它将及时获取日期,并按天计算,将结果显示为 Days。

【讨论】:

    【解决方案2】:

    你可以试试这个。这是如何计算到现在已经过去了多少天:

    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 的值。

    【讨论】:

      猜你喜欢
      • 2014-06-13
      • 1970-01-01
      • 2019-02-15
      • 2011-04-19
      • 2015-12-19
      • 1970-01-01
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多