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

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


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

не подскажите как и где убрать лишние., чтоб отражались только дни (дата например до 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>

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

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

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

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

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

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

Зарузка...

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

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

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