-3

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

4

2 回答 2

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();
于 2013-02-11T08:30:31.367 回答
0

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

如果我正确理解您的问题,那么您希望某些东西在后台运行并在应用程序中保持各种状态,或者更好的是自从应用程序首次启动或后台再次启动以来已经过去了多少时间。

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

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

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

希望上述想法有所帮助并且很清楚。

于 2013-02-11T08:38:55.987 回答