demonat 0 Опубликовано 11 апреля, 2015 Делаю в донат шопе хиро на определенный срок. Все вроде работает. Но не могу понять, почему в базу данных постоянно заноситься текущая дата и время, хотя я писал так: stmt.setLong(6, System.currentTimeMillis() + day); Как прибавляет команда currentTimeMillis? Нужно прибавлять просто числа или нужно множить их на миллисекунды? Например я хочу на неделю, поэтому нужно прибавлять 7*86400 или просто цифру 7 ?? Помогите.. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Naik 419 Опубликовано 11 апреля, 2015 Делаю в донат шопе хиро на определенный срок. Все вроде работает. Но не могу понять, почему в базу данных постоянно заноситься текущая дата и время, хотя я писал так: stmt.setLong(6, System.currentTimeMillis() + day); Как прибавляет команда currentTimeMillis? Нужно прибавлять просто числа или нужно множить их на миллисекунды? Например я хочу на неделю, поэтому нужно прибавлять 7*86400 или просто цифру 7 ?? Помогите.. Делаю в донат шопе хиро на определенный срок. Все вроде работает. Но не могу понять, почему в базу данных постоянно заноситься текущая дата и время, хотя я писал так: stmt.setLong(6, System.currentTimeMillis() + day); Как прибавляет команда currentTimeMillis? Нужно прибавлять просто числа или нужно множить их на миллисекунды? Например я хочу на неделю, поэтому нужно прибавлять 7*86400 или просто цифру 7 ?? Помогите.. 1000 - это одна секунда. Теперь считайте и добавляйте к текущему времени. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
demonat 0 Опубликовано 11 апреля, 2015 Спасибо, получилось. А не подскажите как конвертировать в нормальный вид. Хотя бы в виде строки? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Naik 419 Опубликовано 11 апреля, 2015 Спасибо, получилось. А не подскажите как конвертировать в нормальный вид. Хотя бы в виде строки? Что именно? Сделать дату? Гугл в помощь. Запрос java вывод даты, даст все необходимое. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
demonat 0 Опубликовано 11 апреля, 2015 Не очень помогло. Теперь выводит постоянно дату 01\01\1970.. Вот код строки String date = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new Date(player.getHeroDate(player.getObjectId() * 1000))); Вот ошибка http://s47.radikal.ru/i115/1504/c2/21de0f0fba37.jpg Вот код L2PcInstance public long getHeroDate(int obj_Id) { Connection con = null; long out = -1; try { con = L2DatabaseFactory.getInstance().getConnection(false); PreparedStatement stmt = con.prepareStatement("SELECT hero_end_date FROM characters_custom_data WHERE obj_Id=" + obj_Id); ResultSet rs = stmt.executeQuery(); if (rs.next()) { out = rs.getLong(1); } rs.close(); rs = null; stmt.close(); stmt = null; } catch (Exception e) { if (Config.ENABLE_ALL_EXCEPTIONS) { e.printStackTrace(); } _log.log(Level.SEVERE, "Error: could not get hero_end_date from database: ", e); } finally { CloseUtil.close(con); con = null; } return out; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 12 апреля, 2015 а нафига objectId игрока умножать на 1000, перед передачей его в getHeroDate? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
demonat 0 Опубликовано 13 апреля, 2015 пробовал и НЕ умножать, итог такой же Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
demonat 0 Опубликовано 13 апреля, 2015 все разобрался, тему можно закрывать Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GаmeOver 118 Опубликовано 17 апреля, 2015 все разобрался, тему можно закрывать Выложи сюда, как ты с ней розобралься да бы 100500+ тем не создовали! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты