Since GameTimer() never gets called only the first statement actually gets run (as I said before - simply repeating the same post where it doesn't get called doesn't change anything).
The only actual call to GameTimer() is inside an implied evil eval inside of the GameTimer() function itself so as it never gets called in the first place that never gets run either.
To get it to run (and to get rid of the unnecessary implied eval) you need it coded like this:
Code:
var GameDate = new Date("January 01, 1970 00:00:00");
function GameTimer(){
GameDate.setMonth(GameDate.getMonth()+1);
document.getElementById('demo').innerHTML = GameDate;
var GameDateTimer = setTimeout(GameTimer, 1000);
};
GameTimer();