【问题标题】:timestamp-android [closed]时间戳-android [关闭]
【发布时间】:2013-02-11 08:21:24
【问题描述】:

我的问题很简单。我试图了解时间戳在 android 中的工作原理。我想要一个简单的代码,它在应用程序启动时给出时间戳。它将有一个按钮,当我单击该按钮时,它应该给出应用程序启动和按钮单击之间经过的时间。我该怎么做?

【问题讨论】:

  • 你有一些代码给我们吗?
  • @StefanBe 他希望我们编写他的代码 :) ..
  • StackOverflow 不是为您提供代码的地方。

标签: android timestamp


【解决方案1】:

您也可以使用此代码计算时差并将其用作时间戳:

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
Date dateOne = df.parse("2011-02-08 10:00:00 +0300");
Date dateTwo = df.parse("2011-02-08 08:00:00 +0100");   
long timeDiff = Math.abs(dateOne.getTime() - dateTwo.getTime());
System.out.println("difference:" + timeDiff);

或者试试

Date pdate = your date comming from HTTP;
Date cdate = new Date(System.currentTimeMillis());

long difference = cdate .getTime() - pdate .getTime();

【讨论】:

  • 猜猜他需要更好地了解如何才能实现自己的目标。
【解决方案2】:

没有什么叫做时间戳,但您可以使用java.util.Date 来计算时间,并在您的情况下将其用作时间戳。

如果我理解您的问题,那么您希望某些东西在后台运行并在应用程序中保持各种状态,或者更好的方式 自应用程序首次启动以来已经过去了很长时间 时间或背景重新开始。

两种解决方案取决于您的用例:

  • 在应用程序上下文中,即应用程序正在运行或在后台但未被android系统销毁时。您可以通过活动生命周期方法静态变量,但在这种情况下它们不会帮助您,因为您永远不知道活动何时进入后台,Android系统会在需要内存时破坏您的活动,静态也会破坏变量被销毁。

  • 正确使用共享首选项在不同时间存储java.util.Date作为您的用例和在后台运行以修改共享首选项文件的android服务

希望上述想法对您有所帮助且清晰。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-12
    • 2014-08-30
    相关资源
    最近更新 更多