Tienes que tener en cuenta tres cosas:
Código PHP:
dia = hoy.getDay();
getDay() te devuelve el día de la semana (0=domingo, 1=lunes), no el día del mes en el que se encuentra definida la fecha.
Código PHP:
mes = hoy.getMonth();
getMonth() te devuelve el mes, pero empezando desde cero (enero=0, febrero=1...)
Código PHP:
ano = hoy.getYear();
El uso de getYear() está desfasado porque no llega al año 2000 (habría que sumarle 1900 al año siempre), ahora se utiliza el método getFullYear().
Un saludo