But you asked two very basic questions. One which I'd expect anybody who intended to write a game would have long since found the answers to.
For example, in any pseudo-real-time game, you surely would have encountered setInterval or setTimeout as almost the first step.
But okay, I'll grant that you have experience in other aspects of writing games and apologize for my assumptions/doubts.
Note that, despite my doubts, I did give you the skeleton code for what you wanted.
You didn't say if you were going to roll over from year to year or just wanted a cycle of months. Adding in years would be trivial:
var curyear = 3032;
function bumpMonth( )
if ( curmonth == 12 )
curmonth = 0;
doJanuary(); // it's january at the start, so call this to begin
setInterval( bumpMonth, 5000 ); // 5 seconds per month?