0 – 99: 1st century
100 – 199: 2nd century
...
1900 – 1999: 20th century
2000 – 2999: 21st century
Although I think centuries are usually treated as starting in years ending in 0 anyway, in casual settings. Most people were certainly happy to celebrate "the new millennium" at the start of the year 2000.
You have the right idea, but you made the 21st century a millennium
There is no year zero. Trying to compute with one is almost certainly an error. Trying to work with it is like dividing by zero - it does not make sense.
The year "1" was originally a Julian Date. Using a Gregorian Date before the calendar was introduced is almost certainly an error.
For ancient things, use Before Present, where I believe Present is defined to be sometime in 1950 or there about. For "modern" things (varying definitions of modern) use a sensible format/calendar that works in your database.
It's just an extrapolation; using the calendar being used at the considered time would be meaningless for us, e.g. the short-lived french republican calendar [1].
[1] https://en.wikipedia.org/wiki/French_Republican_calendar