【问题标题】:Getting time between two dates.获取两个日期之间的时间。
【发布时间】:2012-03-24 21:55:32
【问题描述】:

我试图在 android 中找到一种方法来获取当前日期和用户设置的日期之间的时间。例如,如果他们选择了一个日期,例如 2012 年 6 月 14 日,我希望我的应用程序可以锻炼并显示倒计时,例如“还剩 13 天”

我目前有一个日期选择器,它将从用户那里获取一个日期并显示它,我让它检查它显示在屏幕顶部的当前日期。

我在这里看到了一些代码,它显示了如何显示自某个日期以来已经过去了多少时间,但不知道如何将其更改为我需要的。

android 中是否有任何方法可以做到这一点?

【问题讨论】:

    标签: android date time datepicker


    【解决方案1】:

    可以使用android Time类:http://developer.android.com/reference/android/text/format/Time.html#set(int, int, int, int, int, int)

    创建一个时间对象并将其设置为用户指定的日期。创建另一个时间对象并使用 setToNow() 方法将其设置为当前时间。然后,您可以使用 toMillis() 方法将两者都转换为毫秒,并从当前的毫秒中减去所选的毫秒,这将为您提供毫秒差异。然后您所要做的就是将差异转换为您想要显示的任何时间单位。天数为:差异/(1000ms/s * 60s/min * 60 min/hr * 24hr/day)

    【讨论】:

      【解决方案2】:

      一种方法是使用日历对象并单独比较所有字段或使用日期。

      我的答案是使用Calendar.getTimeInMillis()。 然后在此处使用例如答案:milliseconds to days 从毫秒到天或使用 TimeUnit

      【讨论】:

        【解决方案3】:

        This 链接显示了如何使用 Joda 执行此操作,我同意他们的回应,即您应该使用 Joda 而不是标准(有缺陷的)Java API。我之前在 android 上使用过 Joda 没有任何问题..

        【讨论】:

        • 我在课堂上尝试过,而 Eclipse 似乎在导入 joda.time 的东西时遇到了问题。不知道为什么,因为我正在测试答案中给出的代码以确保
        • 下载joda,将jar放到你的lib文件夹中,并添加到你的构建路径中。
        • 是放入eclipse文件内的文件夹还是放入应用程序文件夹
        • 检查你的eclipse项目中是否有一个名为lib的文件夹。如果这样做,请将 jar 放入该文件夹。如果没有,请创建文件夹(右键单击项目,新建>文件夹)并将jar放入。然后右键单击jar并选择“添加到构建路径”
        猜你喜欢
        • 1970-01-01
        • 2019-06-22
        • 2013-09-08
        • 1970-01-01
        • 1970-01-01
        • 2018-01-11
        • 1970-01-01
        • 1970-01-01
        • 2019-05-07
        相关资源
        最近更新 更多