-1

我的目标是加快或减慢时间。

注意:双引号中的所有时间单位(“某些时间”)都不是真正的时间单位。它们是名义上的时间单位。

我想制作一个与普通时钟完全相同的时钟,除了 250 毫秒 = 1“秒”、60“秒”或者更确切地说 250 * 60 毫秒 = 1“分钟”等。我也希望能够改变此时钟使用任何其他毫秒值作为 1 秒,例如 1000(正常、真实世界时间)、6000 毫秒(即 6 秒 = 1“秒”)等。

是否有任何可靠的 API 或代码来执行此操作?如果没有,那我该怎么做?

我看到一个关于 SO 的问题,但没有得到任何代码、API 或关于如何实现这样一个时钟或这样一个时钟中可能存在的潜在问题的建议 - Java - 创建内部时钟

那篇文章谈到了回调,但我不知道它是否是制作时钟的最佳且无问题的方法。

4

2 回答 2

1

显然创建了一个类MyClock.java。在实例化时保存当前系统时间。实施一种方法long getTime(),该方法与现在有所不同,并节省了实例化时间。然后在给定的毫秒数上应用延迟(乘以 4)......剩下的就是你的了。

于 2013-03-31T07:45:13.653 回答
1

一种方法是将您的时间设置为系统时钟,例如:

class CustomClock()
{
    private final long offset;

    public CustomClock(){
        offset = System.currentTimeMillis();
    }

    public long getSeconds()
    {
        return ((System.currentTimeMillis() - offset) / 250);
    }

    /* ... */
}

然后你的代码看起来像

CustomClock clock = new CustomClock();
clock.getSeconds();    // Returns the number of "seconds" since you created 
                       //  the CustomClock object.
于 2013-03-31T07:46:06.977 回答