how this works is that if the year is greater than 0, then set bc/ad to join rounded encoded year and AD. otherwise, set bc/ad to join round abs of encoded year and BC. if it is 0, then set bc/ad to 1 AD
there is no such thing as 0 AD or 0 BC