【问题标题】:android days between two datetimes两个日期时间之间的android天数
【发布时间】:2014-10-10 13:30:50
【问题描述】:

我有两个日期时间 09/01/2014 和 09/10/2014。我想检查两个日期时间之间的天数。 我写了一个函数来改变日期时间格式

public static String dateFormatterforLukka(String inputDate) {

    String inputFormat = "MM/dd/yyyy";
    String outputFormat = "d MMM";

    Date parsed = null;
    String outputDate = "";
    try {
        SimpleDateFormat df_input = new SimpleDateFormat(inputFormat,
                new Locale("en", "US"));
        SimpleDateFormat df_output = new SimpleDateFormat(outputFormat,
                new Locale("en", "US"));


        parsed = df_input.parse(inputDate);
        outputDate = df_output.format(parsed);
    } catch (Exception e) {
        outputDate = inputDate;
    }
    return outputDate;
}

但我不知道如何解决我的问题 如果有人知道解决方案,请帮助我

【问题讨论】:

  • 结果是什么?有错误吗?
  • 你尝试了什么?你只是在解析两个日期......
  • Date Difference in java 的可能重复项
  • 我没有错误,但这是唯一的日期时间格式更改功能。但我不知道如何检查两个日期时间之间的天数

标签: android datetime numbers days


【解决方案1】:

你可以试试这个功能:

public String getDateDiffString(Date dateOne, Date dateTwo)
{
    long timeOne = dateOne.getTime();
    long timeTwo = dateTwo.getTime();
    long oneDay = 1000 * 60 * 60 * 24;
    long delta = (timeTwo - timeOne) / oneDay;

    if (delta > 0) {
        return "dateTwo is " + delta + " days after dateOne";
    }
    else {
        delta *= -1;
        return "dateTwo is " + delta + " days before dateOne";
    }
}

Courtesy Link

【讨论】:

  • 感谢它的工作。例如不同的是 9 天。现在我如何编写增量方法 1 2 3 4 等......
  • @Beka 不客气。请澄清请求。另外,我建议打开一个新问题,以便更多人了解您的新请求。编码快乐!
  • SearchForKnowledge 我打开了新问题,但没有人回答...(这是我的问题stackoverflow.com/questions/26306228/…
【解决方案2】:

您可以在解析后以相同的日期格式解析它们,而不是使用 2 个简单日期格式,您会得到 2 个日期。您可以通过以下方式找到毫秒差异:

`

long differenceAsMs = higherDate.getTime() - lowerDate.getTime();
int differenceAsDay = differenceAsMs / (1000 * 60 * 60 * 24);

` 希望这可以帮助。

【讨论】:

    【解决方案3】:

    使用joda时间库:JodaOrg/joda-time · GitHub

    LocalDate date1 = new LocalDate(2014, 5, 25);
    LocalDate date2 = new LocalDate(2014, 6, 15);
    
    Period period = new Period(date1, date2, PeriodType.yearMonthDay());
    
    int daysBetween = period.getDays();
    int monthsBetween = period.getMonths();
    int yearsBetween = period.getYears();
    

    请注意,如果 date2 的日期早于 date1 的日期,则 period 将返回负数,否则将返回正数。

    【讨论】:

      猜你喜欢
      • 2014-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-22
      • 1970-01-01
      • 2014-06-14
      相关资源
      最近更新 更多