Непрерывное уменьшение времени в Java в формате ЧЧ: ММ: СС - PullRequest
4 голосов
/ 30 декабря 2010

У меня есть для реализации системы ставок в проекте и на сервере, в таблице аукционов, у меня есть поле для времени начала и окончания.

Что я делаю, так это когда пользовательищет, конечно, он видит только предмет, аукцион которого еще открыт

Когда пользователь нажимает на предмет, он покупается на странице, где он может делать ставки.Там я получаю интервал между временем начала и временем окончания, а затем начинаю уменьшать время.

существует ли какой-либо существующий код, который можно использовать для уменьшения времени, формат которого находится в

чч: мм: сс в java

??

Редактировать: в вопросе произошла ошибка, время для уменьшения времени между временем окончания и текущим временем

Ответы [ 2 ]

3 голосов
/ 30 декабря 2010

Вам не нужно уменьшать время.Вам нужно показать, сколько времени осталось.то есть интервал между сейчас и временем окончания.Вы используете клиент Java?Или вам нужен код, который должен быть в сценарии Java?

РЕДАКТИРОВАТЬ: скажем, ставка заканчивается в 12:00:00, а текущее время 11:59:20 (40 секунд до конца).

long endBidTime = .... // today at 12:00:00
long currentTime = System.currentTimeMillis();
long remaining = currentTime - endBidTime;
long hours = remaining / 3600000;
long mins = remaining / 60000 % 60;
long seconds = remaining / 1000 % 60;
String remainingText = "%02d:%02d:%02d".format(hours,mins,seconds);

Вы всегда рассчитываете время по отношению к эталонному времени, поэтому нет необходимости уменьшать что-либо по мере того, как время прогрессирует в currentTimeMillis (), естественно.

1 голос
/ 31 декабря 2010

Я думаю, что я продолжу, используя следующий способ, потому что я не хочу полагаться на время клиента:

-> получить необходимый аукцион с сервера -> используя время сервера, рассчитайте оставшееся время (т. е. текущее время сервера - время окончания аукциона)

-> Отправить оставшееся время клиенту -> при уменьшении клиента до 0 секунд

...