I'd then suggest you'd store your dates as a number in ISO format: YYYYMMDD
This way you'd be able to store dates BC as -YYYYMMDD and AD as YYYYMMDD. It also makes it easy to compare between dates:
eg.
if ( -00801012 < 00110214 ) { ... }
or
if ( 19741015 < 20140228 ) { ... }
You'd need to assert the signal when you want to show the date on the screen.
boolean isAD = false;
If ( mydate > 0 ) { isAD = true; }
and you'd use abs to format your date