NuoDb.Data.Client.EncodedDataStream.encodeScaledDate C# (CSharp) Method

encodeScaledDate() public method

public encodeScaledDate ( DateTime date ) : void
date DateTime
return void
        public virtual void encodeScaledDate(DateTime date)
        {
            if (date == null)
            {
                write(edsNull);

                return;
            }

            TimeSpan span = (protocolVersion >= Protocol.PROTOCOL_VERSION10 ? date.ToUniversalTime() : date) - baseDate;
            // always send seconds. ms in date is useless
            long value = (long)span.TotalMilliseconds / 1000;

            int count = byteCount(value);
            write(edsScaledDateLen1 + count - 1);
            write(SECONDS_SCALE);

            for (int shift = (count - 1) * 8; shift >= 0; shift -= 8)
            {
                write((int)(value >> shift));
            }
        }