2013-03-31 2 views
-1

Моя цель - ускорить или замедлить время.Ускорение или замедление - часы, время которых отличается от системных часов?

Примечание: Все единицы времени в двойных кавычках («некоторое время») НЕ являются реальными единицами времени. Они являются условными единицами времени.

Я хочу сделать часы, которые работают точно так же, как обычные часы, за исключением того, что 250 миллисекунд = 1 "секунда", 60 секунд "или, скорее, 250 * 60 миллисекунд = 1 минута" и т. Д. Я также хочу иметь возможность изменять этот такт, чтобы использовать любое другое значение миллисекунд как 1 секунду, например 1000 (нормальное, реальное мировое время), 6000 мс (т.е. 6 сек = 1 "сек") и т. д.

Есть ли надежный API или код для этого? Если нет, то как мне это сделать?

Я видел вопрос о SO, но не получили никакого кода, API или предложения о том, как реализовать такой часы или какие могут быть потенциальные проблемы в таких часов - Java - Creating an Internal Clock

что пост говорит о callback , но я не знаю, является ли это лучшим и беспроблемным способом сделать мои часы.

+1

Этот вопрос, кажется, не плохо. Я уверен, что большинство людей сочтут нужным рассмотреть, если не очень интересный или хороший вопрос. Почему -1? – Time

ответ

1

Очевидно, создать класс MyClock.java. При создании экземпляра сохраняются текущее системное время. Внедрите метод long getTime(), который принимает разницу с этого момента и сэкономленное время на установку. Затем примените разметку на заданные милисекунды (умножьте на 4) ... отдых за вами.

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. 
Смежные вопросы