我对日期格式化程序/ calander以及与时间相关的所有格式感到有点困惑。我试图获得没有日期的当前时间,虽然我已经看到了几个代码片段,但这仍然让我感到困惑。
我的问题是以下是获取当前时间并将其发送到某些方法进行一些计算。
例如
public void onCreate(Bundle savedInstanceState){....
.........
........
**get the current time**
sendToMethod(currentTime)
}
public void sendToMethod(currentTime)
{
Date pastTime
long diff = currentTime - pastTime;
if (diff > 1000) // here i want to check if the diffrence is more then 10 seconds
// do something
}
我搜索并尝试了几个代码,但我迷路了。
我发现有很多方法可以做到这一点,但我仍然不知道如何解决这个问题。
如果有人能帮助我,我会非常感激。
答案 0 :(得分:0)
您可以尝试使用Joda时间。
没有Joda时间:
Calendar c = Calendar.getInstance();
int seconds/minutes/hours/etc = c.get(Calendar.SECOND/MINUTE/HOUR/etc);
在Joda时间:
DateTime dt = new DateTime(DateTimeZone.UTC);
int month = dt.getMonthOfYear();
// where January is 1 and December is 12
int year = dt.getYear();
修改
如果您想获得当前时间:
long time = System.currentTimeMillis();
使用当前时间和过去的一些时间你可以找到
区别。过去的时间可以通过上面的代码获得。
答案 1 :(得分:0)
试试这个:
private long diff, start = System.currentTimeMillis();
public void sendToMethod()
{
diff = System.currentTimeMillis() - start;
if (diff > 10000) { // difference is more then 10 seconds
// do something
}
start = System.currentTimeMillis();
}
答案 2 :(得分:0)
public void onCreate(Bundle savedInstanceState) {
long currentTime = System.currentTimeMillis();
sendToMethod(currentTime);
}
public void sendToMethod(long currentTime) {
long diff = currentTime - pastTime;
if (diff > 10000){
// Do some thing here...
}
}