TimelinePlot - Handling dates prior to Year Zero

DateObject seems to get the job done, e.g.:

"Yayoi" -> Interval[{DateObject[{-300}], "250"}]

enter image description here


It may not be able to help since it has been a while, but the problem was the string format of dates:

In[69]:= DateList["-300"]
Out[69]= {300, 1, 1, 0, 0, 0.}
In[70]:= DateList[{-300}]
Out[70]= {-300, 1, 1, 0, 0, 0.}

Besides Mr.Wizard♦'s suggestion, DateFunction can also be used.

TimelinePlot[data, ImageSize -> {Automatic, 300}, DateFunction -> ({ToExpression@#} &)]

Note that there is another anomaly in the plot; that is "Heian" is blocked by "Kofun", and that is because the dates in the interval for "Heian" is reversed. Fixing it will produce a correct TimelinePlot.

"Heian" -> Interval[{"794", "185"}],