fix rounding error in arythmetic by using BigNumber in encode/decode Date