
Код:
// Создаём текстовое поле для отображения данных
//_root.createTextField("time_txt", 1, Stage.width/2-100, Stage.height/2-10, 200, 20);
var my_fmt:TextFormat = new TextFormat();
my_fmt.font = "Tahoma";
with (time_txt) {
border = true;
borderColor = 0xff0000;
/*Здесь можно изменить цвет рамки*/
background = true;
backgroundColor = 0xcccccc;
/*Здесь можно изменить цвет фона*/
autoSize = true;
textColor = 0xff0000;
}
time_txt.setNewTextFormat(my_fmt);
// Задаём дату до которой вести отчёт, пишем год, потом месяц (отсчёт месяцев начинается с 0), затем пишем число
var yourDate:Date = new Date(2001, 11, 24);
var day:Number = yourDate.getDate();
var months:Number = yourDate.getMonth();
var years:Number = yourDate.getFullYear();
var date:Number = yourDate.getDate();
yourDateMsec = yourDate.getTime();
//
F_countDown = function () {
// создаём класс Date , который отслеживает текущее время
nowDate = new Date();
// Вычисляем количество милисекунд
nowDateMsec = nowDate.getTime();
//
var msec = yourDateMsec-nowDateMsec;
// Делаем проверку на наступление даты
if (msec>=0) {
// Если наступило
//time_txt.text = "Уже наступило";
//clearInterval(interval);
} else {
//--------------
var _days = nowDate.getDate()-date;
var _months = nowDate.getMonth()-months;
var _years = nowDate.getFullYear()-years;
if (_months<0) {
_months = 11+_months;
_years--;
}
var s_months:String = "";
switch (_months) {
case 0 :
_months = "";
break;
case 1 :
s_months = " месяц";
break;
case 2 :
case 3 :
case 4 :
s_months = " месяца";
break;
default :
s_months = " месяцев";
break;
}
var s_years:String = "";
switch (_years) {
case 0 :
_years = "";
break;
case 1 :
s_years = " год";
break;
case 2 :
case 3 :
case 4 :
s_years = " года";
break;
default :
s_years = " лет";
break;
}
switch (months) {
case 0 :
case 2 :
case 4 :
case 6 :
case 7 :
case 9 :
case 11 :
if (_days/1<0 && !isNaN(_months/1)) {
_days = 30+_days/1;
_months--;
} else if (_days/1<0) {
_days = 30+_days/1;
_months = 11;
s_months = " месяцев";
_years--;
}
break;
case 1 :
if ((_days/1<0 && nowDate.getFullYear()%4 != 0) && !isNaN(_months/1)) {
_days = 28+_days/1;
_months--;
} else if (_days<0 && !isNaN(_months/1)) {
_days = 29+_days/1;
_months--;
} else if (_days/1<0 && isNaN(_months/1)) {
_days = 29+_days/1;
_months = 11;
s_months = " месяцев";
_years--;
}
break;
default :
if (_days/1<0 && !isNaN(_months/1)) {
_days = 31+_days/1;
_months--;
} else if (_days/1<0) {
_days = 31+_days/1;
_months = 11;
s_months = " месяцев";
_years--;
}
break;
}
/*var last_leap:Number = years%4;
var total_leaps:Number = Math.floor((_years+last_leap)/4);
countdown -= total_leaps;*/
switch (_days) {
case 2 :
case 3 :
case 4 :
case 22 :
case 23 :
case 24 :
days = " дня";
break;
case 1 :
case 21 :
days = " день";
break;
default :
days = " дней";
break;
}
if (s_years.length) {
_months = " "+_months;
}
if (s_months.length) {
_days = " "+_days;
}
//--------------
time_txt.text = "Со дня нашей свадьбы прошло "+_years+""+s_years+""+_months+""+s_months+""+_days+""+days;
// Записываем результат в текстовое поле
//time_txt.text ="Days: "+Math.abs(day)+", Hour: "+Math.abs(hour)+", Min: "+Math.abs(min)+", Sec: "+Math.abs(sec);
//time_txt.text = "Days: "+Math.abs(day);
}
};
// Создаём setInterval для запуска нашей функции F_countDown,
// который будет запускать её раз в секунду потому что чаще нам не нужно
interval = setInterval(F_countDown, 1000);
// Запускаем функцию
F_countDown();
Вроде переделал %)
Но, поверте, у противоположного пола всегда есть определенные проблемы с временем, днем недели... месяцем... это все равно не поможетЪ