/// <summary> /// Reads a BSON DateTime from the reader. /// </summary> /// <returns>The number of milliseconds since the Unix epoch.</returns> public override long ReadDateTime() { if (Disposed) { ThrowObjectDisposedException(); } VerifyBsonType("ReadDateTime", BsonType.DateTime); State = GetNextState(); var value = _buffer.ReadInt64(); if (value == BsonConstants.DateTimeMaxValueMillisecondsSinceEpoch + 1) { if (_binaryReaderSettings.FixOldDateTimeMaxValueOnInput) { value = BsonConstants.DateTimeMaxValueMillisecondsSinceEpoch; } } return(value); }