
Код:
import ru.inils.date.DateName;
//
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;
}
var __itr:Number = Number.NaN;
//
var yourDate:Date = new Date(2001, 11, 25);
var months:Number = yourDate.getMonth();
var years:Number = yourDate.getFullYear();
var days:Number = yourDate.getDate();
var msec:Number = yourDate.getTime();
//
var c_Date:Date = new Date();
var c_months:Number = c_Date.getMonth();
var c_years:Number = c_Date.getFullYear();
var c_days:Number = c_Date.getDate();
var c_msec:Number = c_Date.getTime();
function showElapsed():String {
if(c_msec-msec<0){
return "Вы не женаты (может стоит задуматься?)...";
} else {
var r_str:String = "Со дня нашей свадьбы прошло";
var r_years:Number = c_years-years;
var r_months:Number = c_months-months;
var r_days:Number = c_days-days;
if(r_days<0){
switch(c_months){
case 0:
case 2:
case 4:
case 6:
case 7:
case 9:
case 11:
r_days = 31+r_days;
break;
case 1:
if(c_years%4){
r_days = 29+r_days;
} else {
r_days = 28+r_days;
}
break;
default :
r_days = 30+r_days;
break;
}
r_months--;
}
if(r_months<0){
r_months = 12+r_months;
r_years--;
}
if(r_years>0){
r_str += " " + r_years + " " + DateName.getName (r_years, DateName.NAME_YEARS);
}
if(r_months>0){
r_str += " " + r_months + " " + DateName.getName (r_months, DateName.NAME_MONTHS);
}
if(r_days>0){
r_str += " " + r_days + " " + DateName.getName (r_days, DateName.NAME_DAYS);
}
return r_str;
}
}
function updateText():Void {
time_txt.text = showElapsed();
}
updateText();
__itr = setInterval(updateText,1000);
Класс iNilsa, соответсвенно, положить в папку [папка с проектом]/ru/inils/date
Ну, код iNilsa пожалуй по-оптимальнее будет =)
Ток не рассматривается ситуация, если дата свадьбы намечена на будущее %)