Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Как Установить Дату Осады
#1
как назначить дату осады в L2Emu gracia part II
прет... у мну есть полезная инфа.
перерыл нет,и знаето что? ответа на свой вопрос не нашол.
И НА ЕТО ФОРУМЕ ТОЖЕ!
долго думал и начал експерементировать, что и натолкнуло на ответ.


Т.к. в БД все отщеты идут в милисекудах то и дата логически должна быть ими. А от отщет тикает от 1/1/1970

Теперь обясню что я делал:

И так, если я имею

1189936800000 мс в графе siegedate то соответственно

1189936800000 разделить не 1000 равно секундам от 1/1/1970 до даты осады
ето - 1189936800 секунд

дальше делаем так
1189936800 / 60 - ето будут минуты от 1/1/1970 до даты осады
ето = 19832280 минутам

после делаем тан
19832280 / 60 - ето часы от 1/1/1970 до даты осады
ето = 330538 часов

а теперь самое сложное) дуваю все знают что не каждый год имеет 365 днейSmile

поетому с 1/1/1970 по 1/1/2008 мы имеем 9 лет с 366 днями, 1972, 1976,1980, 1984, 1988, 1992, 1996, 2000, 2004.

делаем так

с 1/1/1970 по 1/1/2007 = 37 лет
37 лет x 365 дней = 13505 дней
13505 дней x 24 часов = 324120 часов
324120 часов x 60 сек = 19447200 сек
19447200 сек x 1000 милисек = 19447200000 милисек

19447200000 еть пишем в графу siegeDate для установки осады на 1/1/2007 !

Пишем мну СПС
Easy Smile

(ето пример у каждого может быть по разному)

НО я вот подумал и понял что ещё проще пощетать какая разница между той датой на которую стоит осада и той что мы хочем.
переводим в милисекунды и отнимаем от той(или плюсуем к той) что пишеться в БД.
вуаля и вот то что мы хотели
Ответ
#2
можно использовать РНР скрипт:

Код:
<?php
// день, месяц, год
echo strtotime("15 May 2008"), "000\n";
// месяц, день, год
echo strtotime("05/15/2008"), "000\n";
?>

доки:
http://ru2.php.net/manual/ru/function.date.php
http://ru2.php.net/manual/ru/function.strtotime.php
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu
Ответ
#3
Супер!!!! ППЦ

Это как анегдот
Ответ
#4
HaTTaB, теперь внимательно изучаем правила форума, что бы потом не спрашивали, а за что забанили.
Ответ
#5
Хм.. Что-то я ничего не понял, но смотря на мой уровень знаний по математике, это не странно Smile)


Вот у меня время осады следующее:

1227376800000


Как ее теперь перевести на 21.11.2008г. 13:00 ?))

Заранее благодарен)
Ответ
#6
Stema Написал:Хм.. Что-то я ничего не понял, но смотря на мой уровень знаний по математике, это не странно Smile)


Вот у меня время осады следующее:

1227376800000


Как ее теперь перевести на 21.11.2008г. 13:00 ?))

Заранее благодарен)

1227376800000 - ето сколько милисекунд осталось до осады от 1.1.1970

допустим осада в пятницу 12.00 (1227376800000). тебе нужна осада в суботу 13.00

значит 1227376800000 + одни сутки и один час(25 часов)

переводиш 25 часов в Милисекунды.
25*60=1500 минут
1500*60= 90 000 секунд
90 000*1000=90 000 000 милисекунд
1227376800000(пятница 12.00) + 90 000 000 (разница времени до суботы 13.00) = 1227466800000 (вот тебе и кол-во милисекун с отщетом с 1\1\1970, которое надо вписать в таблицу)

блин да мне мануалы писать!
кликаем спасибкиSmile
Ответ
#7
из вышесказанного формула:

N - число из столбика siegeDate из БД ( в примере 1227376800000)
y - сколько часов до следующей осады ( в примере 25)
X - число в Мсекундах для обновленной базы ( в примере 1227466800000)

N + 3 600 000y = X
Ответ
#8
Зачем изобретать велосипед , если есть куча нормальных прог для преобразования времени ,только добавить 000(миллисекунды) и все нужное время получено
Вот одна из них http://www.aelius.com/njh/unixtime/
Ответ
#9
Более удобный вариант =)
http://www.unixtimestamp.com/index.php
Ответ
#10
kokaaaa Написал:как назначить дату осады в L2Emu gracia part II
прет... у мну есть полезная инфа.
перерыл нет,и знаето что? ответа на свой вопрос не нашол.
И НА ЕТО ФОРУМЕ ТОЖЕ!
долго думал и начал експерементировать, что и натолкнуло на ответ.


Т.к. в БД все отщеты идут в милисекудах то и дата логически должна быть ими. А от отщет тикает от 1/1/1970

Теперь обясню что я делал:

И так, если я имею

1189936800000 мс в графе siegedate то соответственно

1189936800000 разделить не 1000 равно секундам от 1/1/1970 до даты осады
ето - 1189936800 секунд

дальше делаем так
1189936800 / 60 - ето будут минуты от 1/1/1970 до даты осады
ето = 19832280 минутам

после делаем тан
19832280 / 60 - ето часы от 1/1/1970 до даты осады
ето = 330538 часов

а теперь самое сложное) дуваю все знают что не каждый год имеет 365 днейSmile

поетому с 1/1/1970 по 1/1/2008 мы имеем 9 лет с 366 днями, 1972, 1976,1980, 1984, 1988, 1992, 1996, 2000, 2004.

делаем так

с 1/1/1970 по 1/1/2007 = 37 лет
37 лет x 365 дней = 13505 дней
13505 дней x 24 часов = 324120 часов
324120 часов x 60 сек = 19447200 сек
19447200 сек x 1000 милисек = 19447200000 милисек

19447200000 еть пишем в графу siegeDate для установки осады на 1/1/2007 !

Пишем мну СПС
Easy Smile

(ето пример у каждого может быть по разному)

НО я вот подумал и понял что ещё проще пощетать какая разница между той датой на которую стоит осада и той что мы хочем.
переводим в милисекунды и отнимаем от той(или плюсуем к той) что пишеться в БД.
вуаля и вот то что мы хотели
Очень помог. Я в Exel всё сделал функция "Дата и время", удобно переводит годы в дни, дни в секунды и т.д.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Ваши идеи, для внесения смысла в тухлые осады Interlude chandler 4 1,562 06-13-2016, 12:23 PM
Последний пост: smeli
  HikariCP не получается установить пул. ScarlettDev 19 6,682 06-05-2014, 08:25 PM
Последний пост: SouthBridge
  Осады (Tauti +) lCxAxAl 7 2,416 02-28-2013, 05:04 AM
Последний пост: Gaikotsu
  Как установить исходники сборки ? temerlyanenk 21 6,725 01-29-2013, 10:56 AM
Последний пост: lCxAxAl
  Как установить PTS сервер на OC Linux ubuntu??? GhostWarrior 19 5,303 09-30-2012, 01:59 PM
Последний пост: [STIGMATED]
  Как установить защиту Lameguard wyndham 9 4,193 08-01-2012, 07:21 AM
Последний пост: Place
  воскрешение у флага во время осады Серый_Ветер 8 2,150 07-15-2012, 04:05 AM
Последний пост: L2CCCP
  Осады sklerozua 4 2,085 09-14-2011, 04:04 AM
Последний пост: sklerozua
  PvP Giran и осады каждую неделю JFS 6 2,750 04-08-2011, 04:22 PM
Последний пост: DJSvist
  Осады фортов lxShaDoWxl 4 3,347 07-03-2010, 06:55 PM
Последний пост: lxShaDoWxl

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)