This is as low as I can seem to go with javascript date:
var myDate = new Date(0, 0, 1);
myDate.setFullYear("-271800");
alert(myDate);
Anything lower than -271,800 BC throws an invalid date error. Can we go back a million years? Or a billion? Can the date object allow you to describe any date infinitely in the past or future? How might I do something like this?
Representing a particular date a million years ago strikes me as meaningless. Julian calendar? Should days of week honor the Babylonian system?
Create your own type for this, decide what you actually need to represent.
— Updated: This was accepted, so I’ll add a few more specific bits. —
As mentioned in another answer, according to the EcmaScript spec, pg 164 of the fifth edition (link is a .pdf.)
But, this is for theoretical dates. It ignores a few pieces of reality. Days were shorter (by 12 seconds) a million years ago, so some JavaScript math would be inaccurate. Days of the week have been determined with different systems. Months have been defined differently. All to say, decide what you really need to represent.