| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Таймер |
| Автор: LAKERS 30.3.2006, 09:24 |
| программка для КПК, надо чтобы в определенное время на КПК(программка уже запущена) запускалось какое-то действие...например, нажатие кнопки... в JDK 1.1.8 из java.util.Date есть только 2 конструктора: Date() и Date(long) и 7 методов: after, before, equals, getTime, hashCode, setTime и toString, остальные Deprecated...???? |
| Автор: batigoal 30.3.2006, 09:56 |
| Посмотри в сторону класса Calendar. |
| Автор: LAKERS 30.3.2006, 16:21 | ||
а нельзя использовать Date? в принципе таймер не нужен, программа будет запущена и надо чтобы она сравнивала текущую дату на КПК с заданной и во время равенства их выполнила действие, допустим нажатие кнопки, как это осуществить? допустим надо сравнить текущую дату с 1 мая 2006 г.
|
| Автор: LSD 30.3.2006, 16:30 |
| Date и нужно использовать. Просто если у тебя есть дата в виде компонент: число, месяц, год, то тебе понадобится Calendar для того чтобы получить объект типа Date. Как работать с Calendar есть у нас в FAQ. |
| Автор: LAKERS 31.3.2006, 10:05 |
| хорошо поставим вопрос так, нужен кусок кода, сравнивающий текущую дату в каждый момент времени если программка запущена на КПК с заданной, допустим с 1 мая 2006 г. 12 часов 13 минут 00 секунд и если дата текущая совпала с заданной, то нажималась бы кнопка... |
| Автор: LSD 31.3.2006, 10:54 | ||
Метод вернет true если переданная дата уже наступила.
|
| Автор: LAKERS 31.3.2006, 13:46 |
| а как мне обьявить дату 1 мая 2006 г. 13 ч 20 мин. 00 сек.? |
| Автор: LSD 31.3.2006, 16:04 |
| http://vingrad.ru/JAVA-ART-002950! |
| Автор: LAKERS 31.3.2006, 17:37 |
| да читал я FAQ так и не понял... |
| Автор: LSD 31.3.2006, 20:12 | ||||||
Ну уж не знаю как ты его читал
В твоем примере надо будет:
|
| Автор: LAKERS 1.4.2006, 17:16 | ||
| получаю текущую дату, сравниваю ее с заданной, должно выдаваться сообщение... что неправильно делаю?
|
| Автор: LSD 1.4.2006, 18:08 | ||
Дата в Java хранится в миллисекундах и сравнивая даты с помощью == ты скорее всего не поймаешь момент когда они будут равны.
|
| Автор: LAKERS 2.4.2006, 12:26 |
| а как устранить проблему с переводом времени на час, сейчас по крайней мере с этим проблема, System.currentTimeMillis() на час больше чем hourX, да и потом, осенью чтобы тоже не было проблем как этого избежать? |
| Автор: LAKERS 2.4.2006, 12:59 |
| а как вместо System.out.println("Настало наше время: " + new Date()); сделать так чтобы была нажата кнопка Open в методе actionPerformed??? |
| Автор: LAKERS 2.4.2006, 17:04 | ||
почему-то получаю не 18 а 17 часов ???? |
| Автор: LSD 3.4.2006, 12:04 | ||
| А что у тебя выдаст такой код:
|
| Автор: LAKERS 3.4.2006, 14:28 |
| java.util.SimpleTimeZone[id=EAT, offset=10800000, dstSavings=3600000, useDayliпре=false...остальное по нулям... |
| Автор: LSD 3.4.2006, 22:56 | ||
Проблема в
видать старая JVM некоректо определяет момент перехода на летнее время (а может вообще его не учитывает). Поэтому разница не 4 часа, а только 3. И кстати, ты должен был получить не 02 Апрель 2006 н.э. 18:00:00.000 Moscow Daylight Time, а 02 Апрель 2006 н.э. 18:00:00.000 Moscow Standard Time. |