Christoph Schneider Опубликовано 13 Декабря 2004 Жалоба Поделиться Опубликовано 13 Декабря 2004 Как на PHP или HTML сделать что то подобное, как было на сайте Rammstein.ee ?Что до какого то события осталось столько то дней ?Заранее спасибо ! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
winnie Опубликовано 14 Декабря 2004 Жалоба Поделиться Опубликовано 14 Декабря 2004 time stamp (события) - time stamp (сегодня) = время в секундах до даты Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Christoph Schneider Опубликовано 14 Декабря 2004 Автор Жалоба Поделиться Опубликовано 14 Декабря 2004 Ну мне это ни о чем не говорит Я в этом чайник Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
xomep Опубликовано 14 Декабря 2004 Жалоба Поделиться Опубликовано 14 Декабря 2004 я так понял скриптик нужне для нового года? то что ниже сохраняем как time.jsзатем в хедере html-файла между <head> и </head> пишем:<script language="javascript" src="time.js"></script> <!-- function myFunction1(){ if (date<=myDate) month1=12-(month-myMonth); else month1=11-(month-myMonth); } function myFunction2(){ if (date>myDate) month1=(myMonth-month-1); else month1=(myMonth-month); } function myFunction3(){ if (date<=myDate) month1=0; else month1=11; } function myFunction4(){ if (month==2) date1=(28-date+myDate); if (month==4) date1=(30-date+myDate); if (month==6) date1=(30-date+myDate); if (month==9) date1=(30-date+myDate); if (month==11) date1=(30-date+myDate); if (month==1) date1=(31-date+myDate); if (month==3) date1=(31-date+myDate); if (month==5) date1=(31-date+myDate); if (month==7) date1=(31-date+myDate); if (month==8) date1=(31-date+myDate); if (month==10) date1=(31-date+myDate); if (month==12) date1=(31-date+myDate); } var date=(new Date()).getDate(); var month=(new Date()).getMonth()+1; //Set Yuor Date. var myDate=31 var myMonth=12 if (month>myMonth) myFunction1(); if (month<myMonth) myFunction2(); if (month==myMonth) myFunction3(); if (date<=myDate) date1=(myDate-date); if (date>myDate) myFunction4(); if (month1==1) monthtxt=("месяц"); if (month1>1 && month1<5) monthtxt=("месяца"); if (month1>4) monthtxt=("месяцев"); if (date1==1, 21) datetxt=("день"); if (date1>1 && date1<5) datetxt=("дня"); if (date1>21 && date1<25) datetxt=("дня"); if (date1>4 && date1<21) datetxt=("дней"); if (date1>24 && date1<31) datetxt=("дней"); var txt=("До Нового года осталось"); document.write('<span class=ny>'+'</span><br>'); if (month1==0 && date1==0) document.write('<font style="color: #ffffff; font-family: verdana, arial; font-size: 9px;">'+"0 дней"+'</font>');; if (month1>0) document.write('<font style="color: #ffffff; font-family: verdana, arial; font-size: 9px;">'+month1+" "+monthtxt+'</font>'); if (date1>0) document.write('<font style="color: #ffffff; font-family: verdana, arial; font-size: 9px;"> '+""+date1+" "+datetxt+'</font>'); else document.write(""); // --> Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Christoph Schneider Опубликовано 15 Декабря 2004 Автор Жалоба Поделиться Опубликовано 15 Декабря 2004 Что то глючитРуки вроде растут из плеч Но показывается только "16 дней"И все, вот тут можно это увидетьhttp://g-dza.digitage.ru (Не сочтите за рекламу) Добавлено в [mergetime]1103105830[/mergetime] Все, теперь все круто !Спасибо Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
-=(FANTOM)=- Опубликовано 15 Декабря 2004 Жалоба Поделиться Опубликовано 15 Декабря 2004 Ребят а можно что бы в часах было ну плиз..Типа 16 дней часов минут секунд на форум плиззззна 1.3 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
xomep Опубликовано 15 Декабря 2004 Жалоба Поделиться Опубликовано 15 Декабря 2004 Christoph Schneider тогда попробуй это дело (весь код, без сохранения во вн. файле) в <body>, в то самое место, где бы ты хотел чтоб оно появилось, вроде тогда будет нормально работать... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Christoph Schneider Опубликовано 19 Декабря 2004 Автор Жалоба Поделиться Опубликовано 19 Декабря 2004 Нашел что т покруче Пример на http://g-dza.digitage.ru (Не сочтите за рекламу)today = new Date(); BigDay = new Date("December 31, 2004") msPerDay = 24 * 60 * 60 * 1000; timeLeft = (BigDay.getTime() - today.getTime()); e_daysLeft = timeLeft / msPerDay; daysLeft = Math.floor(e_daysLeft); e_hrsLeft = (e_daysLeft - daysLeft)*24; hrsLeft = Math.floor(e_hrsLeft); minsLeft = Math.floor((e_hrsLeft - hrsLeft)*60); document.write( "До Нового Года осталось <b>"+daysLeft+"</b> дней(дня), <b>"+hrsLeft+"</b> часов и <b>"+minsLeft+"</b> минут !!!");А как и куда, описано выше Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Lord_of_Rings Опубликовано 19 Декабря 2004 Жалоба Поделиться Опубликовано 19 Декабря 2004 А объясните где эти коды все писать? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Christoph Schneider Опубликовано 19 Декабря 2004 Автор Жалоба Поделиться Опубликовано 19 Декабря 2004 1. Открываем блокнот2. Вставляем туда это:today = new Date(); BigDay = new Date("December 31, 2004") msPerDay = 24 * 60 * 60 * 1000; timeLeft = (BigDay.getTime() - today.getTime()); e_daysLeft = timeLeft / msPerDay; daysLeft = Math.floor(e_daysLeft); e_hrsLeft = (e_daysLeft - daysLeft)*24; hrsLeft = Math.floor(e_hrsLeft); minsLeft = Math.floor((e_hrsLeft - hrsLeft)*60); document.write( "<img src=http://g-dza.digitage.ru/2.gif>До Нового Года осталось <b>"+daysLeft+"</b> дней(дня), <b>"+hrsLeft+"</b> часов и <b>"+minsLeft+"</b> минут !!!<img src=http://g-dza.digitage.ru/33.gif> ");3. Сохраняем как time.js, заливаем на сервак в главную директорию форума (где index.php и conf_global.php)4. Идем в админку - Скины и шаблоны (Skins & Templates) - Шаблоны (Board Wrappers)5. Тама выбираем шаблон для редактирования, находим там <% NAVIGATION %>6. Ниже встявляем<center><script language="javascript" src="time.js"></script></center><br><br> Радуемся P.S - 4, 5 и 6 пункты проделываем со всеми скинами Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DINI Опубликовано 19 Декабря 2004 Жалоба Поделиться Опубликовано 19 Декабря 2004 Christoph SchneiderУ тебя ошибки в скрипте.1. После строчки BigDay = new Date("December 31, 2004") должна быть точка с запятой. 2. Отсчет ведем до 31 декабря или все же до 1 января? Должно быть вот так:BigDay = new Date("January 01, 2005"); Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DINI Опубликовано 19 Декабря 2004 Жалоба Поделиться Опубликовано 19 Декабря 2004 (изменено) Вот мой немного модифицированный вариант с правильным отображением текста, идущего после дней, часов и минут и с учетом того, что Новый Год уже наступил today = new Date(); BigDay = new Date("January 01, 2005"); msPerDay = 24 * 60 * 60 * 1000; timeLeft = (BigDay.getTime() - today.getTime()); e_daysLeft = timeLeft / msPerDay; daysLeft = Math.floor(e_daysLeft); e_hrsLeft = (e_daysLeft - daysLeft)*24; hrsLeft = Math.floor(e_hrsLeft); minsLeft = Math.floor((e_hrsLeft - hrsLeft)*60); if (daysLeft == 1, 21, 31) daytxt = ("день"), istxtd = ("остался"); if (daysLeft>1 && daysLeft<5) daytxt = ("дня"), istxtd = ("осталось"); if (daysLeft>=5 && daysLeft<21) daytxt = ("дней"), istxtd = ("осталось"); if (daysLeft>21 && daysLeft<25) daytxt = ("дня"), istxtd = ("осталось"); if (daysLeft>=25 && daysLeft<31) daytxt = ("дней"), istxtd = ("осталось"); if (hrsLeft == 1, 21) hrstxt = ("час"), istxth = ("остался"); if (hrsLeft>1 && hrsLeft<5) hrstxt = ("часа"), istxth = ("осталось"); if (hrsLeft>=5 && hrsLeft<21) hrstxt = ("часов"), istxth = ("осталось"); if (hrsLeft>21 && hrsLeft<25) hrstxt = ("часа"), istxth = ("осталось"); if (hrsLeft == 0) hrstxt = ("часов"), istxth = ("осталось"); if (minsLeft == 1, 21, 31, 41, 51) mintxt = ("минута"), istxtm = ("осталась"); if (minsLeft>1 && minsLeft<5) mintxt = ("минуты"), istxtm = ("осталось"); if (minsLeft>=5 && minsLeft<21) mintxt = ("минут"), istxtm = ("осталось"); if (minsLeft>21 && minsLeft<25) mintxt = ("минуты"), istxtm = ("осталось"); if (minsLeft>=25 && minsLeft<31) mintxt = ("минут"), istxtm = ("осталось"); if (minsLeft>31 && minsLeft<35) mintxt = ("минуты"), istxtm = ("осталось"); if (minsLeft>=35 && minsLeft<41) mintxt = ("минут"), istxtm = ("осталось"); if (minsLeft>41 && minsLeft<45) mintxt = ("минуты"), istxtm = ("осталось"); if (minsLeft>=45 && minsLeft<51) mintxt = ("минут"), istxtm = ("осталось"); if (minsLeft>51 && minsLeft<55) mintxt = ("минуты"), istxtm = ("осталось"); if (minsLeft>=55 && minsLeft<60) mintxt = ("минут"), istxtm = ("осталось"); if (minsLeft == 0) mintxt = ("минут"), istxtm = ("осталось"); if (daysLeft>0) document.write("До Нового Года "+istxtd+" <b>"+daysLeft+"</b> "+daytxt+", <b>"+hrsLeft+"</b> "+hrstxt+" и <b>"+minsLeft+"</b> "+mintxt+""); if (daysLeft==0) { if (hrsLeft!=0) document.write("До Нового Года "+istxth+" <b>"+hrsLeft+"</b> "+hrstxt+" и <b>"+minsLeft+"</b> "+mintxt+""); else { if (minsLeft==0) document.write( "До Нового Года остались считанные секунды!"); if (minsLeft==1) document.write( "До Нового Года осталась всего лишь минута!"); if (minsLeft!=0 && minsLeft!=1) document.write( "До Нового Года "+istxtm+" всего <b>"+minsLeft+"</b> "+mintxt+""); } } if (daysLeft<0) document.write("Сейчас уже 2005 год."<br>"Поздравляем!");Да, столко if только подтверждает "великость и могучесть" русского языка Немного исправил скрипт... Изменено 20 Декабря 2004 пользователем DINI Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Lord_of_Rings Опубликовано 20 Декабря 2004 Жалоба Поделиться Опубликовано 20 Декабря 2004 это скрипт тоже через блокнот? и на сервак? или можно через админку? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DINI Опубликовано 20 Декабря 2004 Жалоба Поделиться Опубликовано 20 Декабря 2004 Lord_of_Rings Тоже через блокнот. А вставляешь куда тебе удобнее, используя <script language="javascript" src="time.js"></script> Вопрос ко всем: как это все сделать в реальном времени, т.е. чтобы дата обновлялась автоматически, а не после нажатия Refresh? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Еve Опубликовано 21 Декабря 2004 Жалоба Поделиться Опубликовано 21 Декабря 2004 DINI, надо юзать JavaScript. Как? Сам хочу узнать Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DINI Опубликовано 21 Декабря 2004 Жалоба Поделиться Опубликовано 21 Декабря 2004 Все! Я придумал! Короче, ниже вы видите готовый скрипт с отсчетом до указанной даты в днях, часах, минутах и секундах, правильным отображением текста после этих самых дней, часов и т.д. и в реальном времени Итак. Инструкция по установке.1. Открыть блокнот и вставить туда следующий код:function nydate() { today = new Date(); BigDay = new Date("January 01, 2005"); msPerDay = 24 * 60 * 60 * 1000; timeLeft = (BigDay.getTime() - today.getTime()); e_daysLeft = timeLeft / msPerDay; daysLeft = Math.floor(e_daysLeft); e_hrsLeft = (e_daysLeft - daysLeft)*24; hrsLeft = Math.floor(e_hrsLeft); e_minsLeft = (e_hrsLeft - hrsLeft)*60; minsLeft = Math.floor(e_minsLeft); secLeft = Math.floor((e_minsLeft - minsLeft)*60); if (daysLeft == 1, 21, 31) daytxt = ("день"), istxtd = ("остался"); if ((daysLeft>1 && daysLeft<5) || (daysLeft>21 && daysLeft<25)) daytxt = ("дня"), istxtd = ("осталось"); if ((daysLeft>=5 && daysLeft<21) || (daysLeft>=25 && daysLeft<31)) daytxt = ("дней"), istxtd = ("осталось"); if (hrsLeft == 1, 21) hrstxt = ("час"), istxth = ("остался"); if ((hrsLeft>1 && hrsLeft<5) || (hrsLeft>21 && hrsLeft<25)) hrstxt = ("часа"), istxth = ("осталось"); if ((hrsLeft == 0) || (hrsLeft>=5 && hrsLeft<21)) hrstxt = ("часов"), istxth = ("осталось"); if (minsLeft == 1, 21, 31, 41, 51) mintxt = ("минута"), istxtm = ("осталась"); if ((minsLeft>1 && minsLeft<5) || (minsLeft>21 && minsLeft<25) || (minsLeft>31 && minsLeft<35) || (minsLeft>41 && minsLeft<45) || (minsLeft>51 && minsLeft<55)) mintxt = ("минуты"), istxtm = ("осталось"); if ((minsLeft == 0) || (minsLeft>=5 && minsLeft<21) || (minsLeft>=25 && minsLeft<31) || (minsLeft>=35 && minsLeft<41) || (minsLeft>=45 && minsLeft<51) || (minsLeft>=55 && minsLeft<60)) mintxt = ("минут"), istxtm = ("осталось"); if (secLeft == 1, 21, 31, 41, 51) sectxt = ("секунда"); if ((secLeft>1 && secLeft<5) || (secLeft>21 && secLeft<25) || (secLeft>31 && secLeft<35) || (secLeft>41 && secLeft<45) || (secLeft>51 && secLeft<55)) sectxt = ("секунды"); if ((secLeft == 0) || (secLeft>=5 && secLeft<21) || (secLeft>=25 && secLeft<31) || (secLeft>=35 && secLeft<41) || (secLeft>=45 && secLeft<51) || (secLeft>=55 && secLeft<60)) sectxt = ("секунд"); if (daysLeft>0) { time=("До Нового Года "+istxtd+" <b>"+daysLeft+"</b> "+daytxt+", <b>"+hrsLeft+"</b> "+hrstxt+", <b>"+minsLeft+"</b> "+mintxt+" и <b>"+secLeft+"</b> "+sectxt+""); if(document.all) { nyspan.innerHTML=time; } if(document.layers) { document.layers.nyclock.document.open(); document.layers.nyclock.document.write("До Нового Года "+istxtd+" <b>"+daysLeft+"</b> "+daytxt+", <b>"+hrsLeft+"</b> "+hrstxt+", <b>"+minsLeft+"</b> "+mintxt+" и <b>"+secLeft+"</b> "+sectxt+""); document.layers.nyclock.document.close(); } setTimeout("nydate()",1000); } if (daysLeft==0) { if (hrsLeft!=0) { time=("До Нового Года "+istxth+" <b>"+hrsLeft+"</b> "+hrstxt+" и <b>"+minsLeft+"</b> "+mintxt+" и <b>"+secLeft+"</b> "+sectxt+""); if(document.all) { nyspan.innerHTML=time; } if(document.layers) { document.layers.nyclock.document.open(); document.layers.nyclock.document.write("До Нового Года "+istxth+" <b>"+hrsLeft+"</b> "+hrstxt+" и <b>"+minsLeft+"</b> "+mintxt+" и <b>"+secLeft+"</b> "+sectxt+""); document.layers.nyclock.document.close(); } setTimeout("nydate()",1000); } else { if (minsLeft==0) document.write( "До Нового Года остались считанные секунды!"); if (minsLeft==1) document.write( "До Нового Года осталась всего лишь минута!"); if (minsLeft!=0 && minsLeft!=1) { time=("До Нового Года "+istxtm+" всего <b>"+minsLeft+"</b> "+mintxt+" и <b>"+secLeft+"</b> "+sectxt+""); if(document.all) { nyspan.innerHTML=time; } if(document.layers) { document.layers.nyclock.document.open(); document.layers.nyclock.document.write("До Нового Года "+istxtm+" всего <b>"+minsLeft+"</b> "+mintxt+" и <b>"+secLeft+"</b> "+sectxt+""); document.layers.nyclock.document.close(); } setTimeout("nydate()",1000); } } } if (daysLeft<0) document.write("Сейчас уже 2005 год."<br>"Поздравляем!"); } window.onload = nydate;2. Сохранить это все как nytime.js и залить на фтп, где находится файл index.php.3. В админке зайти в меню Скины и шаблоны -> Шаблоны форума -> Редактировать4. После тэга <% NAVIGATION %> вставить <center><script src="nytime.js" type="text/javascript"></script><span id="nyspan"></span><layer id="nyclock"></layer></center>5. Сохранить изменения в шаблоне. Примечание: За отображение даты отвечают тэги <span id...> и <layer id...>, и на странице дата появится именно в том месте, где стоят эти тэги. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DINI Опубликовано 21 Декабря 2004 Жалоба Поделиться Опубликовано 21 Декабря 2004 Исправил скрипт. Теперь все должно работать и в Опере P.S. В предыдущем сообщении находится уже исправленный вариант скрипта. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
termic Опубликовано 22 Декабря 2004 Жалоба Поделиться Опубликовано 22 Декабря 2004 <layer id="nyclock"></layer><center> и вот тут тэг <center> надо закрыть Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Еve Опубликовано 22 Декабря 2004 Жалоба Поделиться Опубликовано 22 Декабря 2004 А как передать этому скрипту переменую [события] из РНР в формате time() ? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DINI Опубликовано 22 Декабря 2004 Жалоба Поделиться Опубликовано 22 Декабря 2004 termicСпасибо за замечание, я когда пост писал, пропустил это... В своем посте я тэг исправил, а то начнут делать как написано, а потом вопрсы пойдут "почему не работает..." Еve Че-то я не совсем понял, что ты имеешь в виду...Кстати, у тебя на форуме тэг <% COPYRIGHT %> через Оперу виден.В Mozilla Вылезает тэг <% COPYRIGHT %> Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Еve Опубликовано 23 Декабря 2004 Жалоба Поделиться Опубликовано 23 Декабря 2004 DINI я имею ввиду, то, что в твоём скрипте, дата события задаётся непосредственно в скриптеBigDay = new Date("January 01, 2005");а потом, на сколько я понял, мы её конвертируем в Time() формат. (т.е. 197391104)timeLeft = (BigDay.getTime() - today.getTime()); так вот... задача в том, что:событие будет лежать в БД форума уже в формате Time() (т.е. 197391104),и его надо будет из переменной в РНР скрипте передать этому скрипту. Воть. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DINI Опубликовано 23 Декабря 2004 Жалоба Поделиться Опубликовано 23 Декабря 2004 Еve Если честно, я еще не на столько хорошо знаю пхп и яву, чтобы такое сделать. Но я подумаю, может, и придумаю чего-нибудь... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
zero_vlz Опубликовано 25 Декабря 2004 Жалоба Поделиться Опубликовано 25 Декабря 2004 DINI Почему-то при установке получилось следующее: кодировка не win-1251, в мозилле не отображается Не знаешь отчего так? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Еve Опубликовано 27 Декабря 2004 Жалоба Поделиться Опубликовано 27 Декабря 2004 DINI, вот ссылка на скрипт отсчёта, но он немного глючный (глотает секунды).Счетчик оставшегося времениОднако, там принцип в том, что дата задаётся как бы отдельно... Сможешь на основе этих двух создать отсчёт?Структуру от этого, а принцип указания даты от того?Только её там в формате Time() вводить чтобы. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DINI Опубликовано 5 Января 2005 Жалоба Поделиться Опубликовано 5 Января 2005 zero_vlz В Опере и Мозилле почему-то кодировка глючит при автовыборе. Ее надо проставлять вручную... Еve И все-таки я не понимаю, чего ты хочешь сделать...Зачем тебе прописывать дату в БД, а потом брать ее через скрипт? Не легче ли открыть сам скрипт и ручками проставить нужную дату?Тем более, в том скрипте, на который ты мне указал, дата хоть и задается отдельно, но также вручную, без использования time() Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.