internal static void WriteDateTimeString(TextWriter writer, DateTime value, TimeSpan offset, DateTimeKind kind)
        {
            long num = JsonConvert.ConvertDateTimeToJavaScriptTicks(value, offset);

            writer.Write("\"\\/Date(");
            writer.Write(num);
            switch (kind)
            {
            case 0:
            case 2:
            {
                writer.Write((offset.get_Ticks() < 0L) ? "-" : "+");
                int num2 = Math.Abs(offset.get_Hours());
                if (num2 < 10)
                {
                    writer.Write(0);
                }
                writer.Write(num2);
                int num3 = Math.Abs(offset.get_Minutes());
                if (num3 < 10)
                {
                    writer.Write(0);
                }
                writer.Write(num3);
                break;
            }
            }
            writer.Write(")\\/\"");
        }
예제 #2
0
        internal static void WriteDateTimeString(TextWriter writer, DateTime value, TimeSpan offset, DateTimeKind kind, DateFormatHandling format)
        {
            if (format == DateFormatHandling.MicrosoftDateFormat)
            {
                long num = JsonConvert.ConvertDateTimeToJavaScriptTicks(value, offset);
                writer.Write("\"\\/Date(");
                writer.Write(num);
                switch (kind)
                {
                case DateTimeKind.Unspecified:
                    if (value != DateTime.MaxValue && value != DateTime.MinValue)
                    {
                        JsonConvert.WriteDateTimeOffset(writer, offset, format);
                        break;
                    }
                    else
                    {
                        break;
                    }

                case DateTimeKind.Local:
                    JsonConvert.WriteDateTimeOffset(writer, offset, format);
                    break;
                }
                writer.Write(")\\/\"");
            }
            else
            {
                writer.Write("\"");
                writer.Write(value.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFF", (IFormatProvider)CultureInfo.InvariantCulture));
                switch (kind)
                {
                case DateTimeKind.Utc:
                    writer.Write("Z");
                    break;

                case DateTimeKind.Local:
                    JsonConvert.WriteDateTimeOffset(writer, offset, format);
                    break;
                }
                writer.Write("\"");
            }
        }
        internal static void WriteDateTimeString(TextWriter writer, DateTime value, TimeSpan offset, DateTimeKind kind)
        {
            long javaScriptTicks = JsonConvert.ConvertDateTimeToJavaScriptTicks(value, offset);

            writer.Write("\"\\/Date(");
            writer.Write(javaScriptTicks);
            if (kind == DateTimeKind.Local || kind == DateTimeKind.Unspecified)
            {
                writer.Write((offset.Ticks < (long)0 ? "-" : "+"));
                int num = Math.Abs(offset.Hours);
                if (num < 10)
                {
                    writer.Write(0);
                }
                writer.Write(num);
                int num1 = Math.Abs(offset.Minutes);
                if (num1 < 10)
                {
                    writer.Write(0);
                }
                writer.Write(num1);
            }
            writer.Write(")\\/\"");
        }
 internal static long ConvertDateTimeToJavaScriptTicks(DateTime dateTime)
 {
     return(JsonConvert.ConvertDateTimeToJavaScriptTicks(dateTime, true));
 }