Показать сообщение отдельно
Старый 23.12.2007, 18:13
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код:
// Создаём текстовое поле для отображения данных 
//_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();
Вроде переделал %)
Но, поверте, у противоположного пола всегда есть определенные проблемы с временем, днем недели... месяцем... это все равно не поможетЪ
__________________
Hell is the possibility of sanity