Просмотр полной версии : Народ, помогите спасти задницу.....
Срочно нужно сделать таймер типа "до такой-то даты осталось ххх дней". Наш флэшер уехал на две недели, а дело горит, как всегда... Если есть возможность, буду признателен исходнику, если нет, то хотя бы разъяснению или ссылке на оное....
sergwizard
20.12.2003, 14:27
_root.createEmptyMovieClip("klip", 150);
_root.klip.createTextField("schet", 1, 0, 0, 75, 75);
_root.klip.schet.type = "dynamic";
_root.klip.schet.textColor = 0x0000FF;
_root.klip.schet.autoSize = true;
style = new TextFormat();
style.font = "Arial cyr";
style.size = 16;
style.bold = true;
_root.klip.schet.setNewTextFormat(style);
_root.klip.onEnterFrame = function() {
myDate = new Date();
dni = (31-myDate.getDate());
chasy = dni*24+23-myDate.getHours();
minuty = chasy*60+59-myDate.getMinutes();
seconds = minuty*60+59-myDate.getSeconds();
if (myDate.getFullYear()<2004){
_root.klip.schet.text = "До Нового 2004 Года осталось:\nДней: " + dni + "\nЧасов: " + chasy add "\nМинут: " + minuty + "\nСекунд: " + seconds;
} else if (myDate.getFullYear() == 2004){
style1 = new TextFormat();
style1.size = 30;
style1.color = 0xFFFF00;
style1.font = "Tymes New Roman cyr";
style1.italic = true;
_root.klip.schet.setNewTextFormat(style1);
_root.klip.schet.text = "С Новым 2004 Годом! Happy New Year!";
}
};
А я так написал :D
dat=new Date();
datt=dat.getDate();
ostalos=31-datt;
Что не правильно? :D
Спасибо за помощь, буду пробовать...
sergwizard
20.12.2003, 16:18
Да тут все правильно. :) Но только ты вычисляешь, сколько дней осталось до 31 числа текущего месяца. А если я хочу узнать, сколько осталось до 1 февраля?
Тогда твой способ не подходит. Тогда надо использовать что-то типа (смотри пример). Я там все показываю в миллисекундах. А эти цифири без проблем переводятся в дни, часы, секунды…
Оригинал написал(а) sergwizard
Да тут все правильно. :) Но только ты вычисляешь, сколько дней осталось до 31 числа текущего месяца. А если я хочу узнать, сколько осталось до 1 февраля?
…
Ну если sergwizard перестанет шутки понимать,
уйду куда нить на РЕНДЕР :p
sergwizard
20.12.2003, 17:45
Я те уйду... Ноги повыдергиваю.
2sergwizard глянь, плз.... в чем ошибка???
futureDate = new Date(2005, 9, 1, 0, 0, 0);
myDate = new Date();
dni = (futureDate.getDate()-myDate.getDate());
_root.klip.schet.text = dni;
И как вообще милисекунды перевести в дни????
Date.getTime
Доступность
Flash Player 5.
Синтаксис
myDate.getTime()
Параметры
Нет.
Возвращается
Целое число.
Описание
Метод, возвращает количество миллисекунд, прошедших с 1 января 1970, глобальное время определенного объекта Date. Используйте этот метод для представления времени при сравнении двух и более объектов Date.
В сутках - 24*60*60*1000=86400000миллисек. ;)
Штрек, спасибо за объяснения.... вкратце все понятно...
Математику я знаю.... ;)
Но у меня получается при делении количество дней, потом тоска и пошли считаться миллиардные доли..... А мне нужно оставить просто дни... А вот тут у меня ступор и начинается))))
Плюс ко всему получается на 30 дней больше, чет надо.... Откуда еще месяц берется - не пойму... :confused:
Не забыл? - месяца надо с нуля считать.
А дни округли с помощью Math.floor(x)
Всем спасибо, все получилось....
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.