Eso pasa porque estás asignando a la variable una referencia a la función, y no lo que devuelve la función. Puedes reducir el código a esto:
Código Javascript
:
Ver originalfunction mostrarFecha(tiempo){
var fecha = new Date(tiempo || +new Date()), str = '';
var equiv = {
dias : ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'],
meses : ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'];
};
str += equiv.dias[fecha.getDay()] + ', ' + fecha.getDate() + ' de ';
str += equiv.meses[fecha.getMonth()] + ' de ' + fecha.getFullYear();
str += ', ' + fecha.getHours + ':' + fecha.getMinutes + fecha.getSecond;
return str;
}
var fecha1 = mostrarFecha(); // sábado, 28 de mayo de 2011, 17:45:25
var fecha2 = mostrarFecha(0); // jueves, 1 de enero de 1970, 0:0:0
Saludos (: