pawn Code:
stock GetData(gDia, gMes, gAno) {
new Dia, Mes, Ano, Str[24];
getdate(Ano, Mes, Dia);
new j, Float: f, Meses[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
Dia += gDia, Mes += gMes, Ano += gAno;
for(;;) {
while(Mes > 12) {
f = (Mes / 12);
Mes %= 12, Ano += floatround(f, floatround_floor);
}
if(Dia > Meses[(Mes - 1)]) Dia -= Meses[(Mes - 1)], Mes++;
while(Mes > 12) {
f = (Mes / 12);
Mes %= 12, Ano += floatround(f, floatround_floor);
}
if((!(Ano % 4) && (Ano % 100) || !(Ano % 400)) && Ano != j) Dia++, j = Ano;
if(Dia <= Meses[(Mes - 1)] && Mes <= 12) break;
}
return format(Str, 24, "%02i/%02i/%04i", Dia, Mes, Ano), Str;
}