/// <summary> /// This function Processes the to string format of the form "yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffff" for date times in /// invariant culture scenarios. This implementation takes 20% of the time of a regular .ToString(format) call /// </summary> /// <param name="dt"></param> /// <param name="isUtc"></param> /// <returns></returns> public static unsafe int GetDefaultRavenFormat(this DateTime dt, JsonOperationContext context, out AllocatedMemoryData memory, bool isUtc = false) { ValidateDate(dt, isUtc); int size = 27 + (isUtc ? 1 : 0); var ticks = dt.Ticks; memory = context.GetMemory(size); byte *ptr = memory.Address; ProcessDefaultRavenFormat(ticks, ptr); if (isUtc) { ptr[size - 1] = (byte)'Z'; } return(size); }