Перейти к контенту

Скрипт Отсчёта времени до НГ


Рекомендуемые сообщения

не подскажите как и где убрать лишние., чтоб отражались только дни (дата например до 8-марта , 9-мая и т.д. ) где править?

спасибо.

Напиши конкретно задачу, будет время напишу с нуля скрипт тогда, раз такой спрос.

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 69
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Как отойду от празднования и появится время - напишу ) А пока я даже не прочел письмо )
Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

У меня вопрос к програмистам.

 

Возможно ли сделать отсчет до Новолетия по старому календарю, отменённому Петром Первым?

 

Дело в том, что данные того, старого календаря совершенно другие и несоответствуют нынешним данным.

 

Новолетие начинается 20 сентября (день Осеннего Равноденствия) в 19:00 по современному, летнему времени. По современному зимнему времени смена суток происходит в 18:00.

 

В году 9 месяцев, все нечетные месяца по 41 дню, все четные месяца по 40 дней.

В 1 сутках 16 часов,

в 1 часе - 144 части,

в 1 части -1296 долей,

в 1 доле - 72 мгновения и т.д.

 

Сейчас идет 7515 год... 20 сентября 2007 года в 19:00 наступит - 7516 Новолетие.

 

Возможно ли создать скрипт для отсчета дней до Новолетия, чтобы его можно было разместить на MK-Portal и на форуме IPB 2.2.1 ниже логотипа?

Ссылка на комментарий
Поделиться на других сайтах

Нет ничего невозможного. В php была вроде функция для работы с такими датами. Да и ее самому можно написать при желании.
Ссылка на комментарий
Поделиться на других сайтах

Нет ничего невозможного. В php была вроде функция для работы с такими датами. Да и ее самому можно написать при желании.

А ссылочку на шаблончик где можно найти?

Если бы я знал как это делается, то сам бы написал, но я никогда с пересчётом дат не сталкивался...

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
Похоже я задал непосильную задачу для програмеров, раз все сразу поисчезали из темы...
Ссылка на комментарий
Поделиться на других сайтах

  • 10 месяцев спустя...
  • 2 недели спустя...

и я свой код запостю, он написан на пхп на скорую руку под девизом "в топку JS-динамику" -)

 

До Нового Года осталось <?
$tm = mktime( 0, 0, 0, 1, 1, date('Y') + 1 ) - time();
$tm_d = intval( $tm / 3600 / 24 );
if( $tm_d ){
 $tm -= $tm_d * 3600 * 24;
 echo $tm_d . " д.";
}
$tm_h = intval( $tm / 3600 );
if( $tm_h ){
 $tm -= $tm_h * 3600;
 echo ", $tm_h ч.";
}
$tm_m = intval( $tm / 60 );
if( $tm_m ){
 $tm -= $tm_m * 60;
 echo ", $tm_m м.";
}
if( $tm )
 echo ", $tm с.";
?>

Работает

Ссылка на комментарий
Поделиться на других сайтах

Нда, вы с IPB плохо знакомы. А если у меня время локальное не такое как на сервере?
Ссылка на комментарий
Поделиться на других сайтах

Нда, вы с IPB плохо знакомы. А если у меня время локальное не такое как на сервере?
Угуу, а на сервере моей сети когда-то еще и время неправильно тикало.

Просто пример по-проще сделал, буков меньше )).

И ЕЩЕ: у меня кода в 2 раза меньше, чем у Arhar, а работает по тому же принципу :D

 

Народ, неужели никто не в состоянии подсказать?
вот, как я писал там, к стати,

mktime - количество в секундах от некой "начальной даты" (01,01,1970 чтоли) до заданной

time - количество в секундах от "начальной даты" до текущего времени

а дальше - матиматика: я делю в соответствии с системой "CI" дни - минуты - секунды, а ВЫ делите, в своей системе мгновений и мимолетных видений, выражая все через секунды.

 

$next_ny = mktime( 19, 0, 0 , 9, 20, date( 'Y' ) );			  // в текущем году
$tm = time();
if( $next_ny < $tm )
 $next_ny = mktime( 19, 0, 0 , 9, 20, date( 'Y' ) + 1 );	   // или в следующем

$tm = $next_ny - $tm;				  // разница в секундах до наступления того нового года

А дальше - формируете вывод, удобный для JS и уже на нем отстидываете динамически (тоже, применяя аццко-математику "мгновений и долей" к вычислениям).

Ссылка на комментарий
Поделиться на других сайтах

вроде такой код никто не предлагал.

 

<script type="text/javascript">
function cdtime(container, targetdate){
if (!document.getElementById || !document.getElementById(container)) return
this.container=document.getElementById(container)
this.currentTime=new Date()
this.targetdate=new Date(targetdate)
this.timesup=false
this.updateTime()
}

cdtime.prototype.updateTime=function(){
var thisobj=this
this.currentTime.setSeconds(this.currentTime.getSeconds()+1)
setTimeout(function(){thisobj.updateTime()}, 1000) //update time every second
}

cdtime.prototype.displaycountdown=function(baseunit, functionref){
this.baseunit=baseunit
this.formatresults=functionref
this.showresults()
}

cdtime.prototype.showresults=function(){
var thisobj=this


var timediff=(this.targetdate-this.currentTime)/1000 //difference btw target date and current date, in seconds
if (timediff<0){ //if time is up
this.timesup=true
this.container.innerHTML=this.formatresults()
return
}
var oneMinute=60 //minute unit in seconds
var oneHour=60*60 //hour unit in seconds
var oneDay=60*60*24 //day unit in seconds
var dayfield=Math.floor(timediff/oneDay)
var hourfield=Math.floor((timediff-dayfield*oneDay)/oneHour)
var minutefield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour)/oneMinute)
var secondfield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour-minutefield*oneMinute))
if (this.baseunit=="hours"){ //if base unit is hours, set "hourfield" to be topmost level
hourfield=dayfield*24+hourfield
dayfield="n/a"
}
else if (this.baseunit=="minutes"){ //if base unit is minutes, set "minutefield" to be topmost level
minutefield=dayfield*24*60+hourfield*60+minutefield
dayfield=hourfield="n/a"
}
else if (this.baseunit=="seconds"){ //if base unit is seconds, set "secondfield" to be topmost level
var secondfield=timediff
dayfield=hourfield=minutefield="n/a"
}
this.container.innerHTML=this.formatresults(dayfield, hourfield, minutefield, secondfield)
setTimeout(function(){thisobj.showresults()}, 1000) //update results every second
}


function formatresults2(){
if (this.timesup==false){ //if target date/time not yet met
var displaystring="<span class='lcdstyle'><b><font color=green>До нового года осталось...<br>  "+arguments[0]+" <sup>дней</sup> "+arguments[1]+" <sup>часов</sup> "+arguments[2]+" <sup>минут</sup> "+arguments[3]+" <sup>секунд</sup></font><b></span> "
}
else{ //else if target date/time met
var displaystring="<span class='lcdstyle'>С Новым Годом, наши дорогие и любимые посетители !<br>Удачи и счастья Вам!</span>" //Don't display any text
//alert("С новым годом!!!") //Instead, perform a custom alert
}
return displaystring
}

</script>

Ссылка на комментарий
Поделиться на других сайтах

вроде такой код никто не предлагал.

 

<script type="text/javascript">.................</script>

Прикольно. Если бы 2 года назад нашел эту тему, написал бы на асме. Щас забылось все. :D

Ссылка на комментарий
Поделиться на других сайтах

  • 1 год спустя...
И чтобы не надо было каждый год цифирьки перебивать?

Запросто:

<script LANGUAGE="JAVASCRIPT">
document.write('<span id="left"> </span>')
function ojidanieNG(){
today = new Date()
BigDay = new Date("January 1, 2001")
todey = today.setYear('2000')
timeLeft = (BigDay.getTime() - today.getTime())
e_daysLeft = timeLeft / 86400000
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)
seksLeft = Math.floor((e_minsLeft - minsLeft)*60)
var seksRight=''
if(seksLeft==1||seksLeft==21||seksLeft==31||seksLeft==41||seksLeft==51)seksRight='а'
if(seksLeft==2||seksLeft==3||seksLeft==4||seksLeft==22||seksLeft==23||seksLeft=
=24||seksLeft==32||seksLeft==33||seksLeft==34||seksLeft==42||seksLeft==43||seksL
e
ft==44||seksLeft==52||seksLeft==53||seksLeft==54)seksRight='ы'
if(e_daysLeft>0 && e_daysLeft<31)document.getElementById("left").innerHTML = 'До Нового года осталось: <b>'+daysLeft+'</b> дней, <b>'+hrsLeft+'</b> часов, <b>'+minsLeft+'</b> минут, <b>'+seksLeft+'</b> секунд'+seksRight+'!'
else document.getElementById("left").innerHTML = ' '
}
setInterval("ojidanieNG()", 1000)
</SCRIPT>

Хелп! Как изменить размер шрифта, цвет и центрацию счетчика?

Ссылка на комментарий
Поделиться на других сайтах

Как изменить размер шрифта, цвет и центрацию счетчика?

<style>
#left{
/* Здесь стили оформления счетчика */
}
</style>

Ссылка на комментарий
Поделиться на других сайтах

Как изменить размер шрифта, цвет и центрацию счетчика?

<style>
#left{
/* Здесь стили оформления счетчика */
}
</style>

эээм... а в каком месте скрипта это поставить?

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.