public virtual void encodeScaledTime(DateTime time)
{
if (time == null)
{
write(edsNull);
return;
}
TimeSpan span = time.ToUniversalTime() - baseDate;
long value = (long)span.TotalMilliseconds;
int count = byteCount(value);
write(edsScaledTimeLen1 + count - 1);
write(MILLISECONDS_SCALE);
for (int shift = (count - 1) * 8; shift >= 0; shift -= 8)
{
write((int)(value >> shift));
}
}