Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ WriteDateTimeInDefaultFormat()

void System.Runtime.Serialization.Json.JsonWriterDelegator.WriteDateTimeInDefaultFormat ( DateTime value)
inlineprivate

Definition at line 168 of file JsonWriterDelegator.cs.

169 {
170 if (value.Kind != DateTimeKind.Utc)
171 {
172 long num = 864000000000L;
173 long num2 = 3155378111999999999L;
174 long ticks = value.Ticks;
175 if (num > ticks || num2 < ticks)
176 {
177 ticks -= TimeZoneInfo.Local.GetUtcOffset(value).Ticks;
178 if (ticks > DateTime.MaxValue.Ticks || ticks < DateTime.MinValue.Ticks)
179 {
180 throw XmlObjectSerializer.CreateSerializationException(System.SR.JsonDateTimeOutOfRange, new ArgumentOutOfRangeException("value"));
181 }
182 }
183 }
184 writer.WriteString("/Date(");
185 writer.WriteValue((value.ToUniversalTime().Ticks - JsonGlobals.unixEpochTicks) / 10000);
186 switch (value.Kind)
187 {
188 case DateTimeKind.Unspecified:
189 case DateTimeKind.Local:
190 {
191 TimeSpan utcOffset = TimeZoneInfo.Local.GetUtcOffset(value.ToLocalTime());
195 handler.AppendFormatted(utcOffset.Hours, "+00;-00");
196 handler.AppendFormatted(utcOffset.Minutes, "00;00");
197 xmlWriter.WriteString(string.Create(invariantCulture, ref handler));
198 break;
199 }
200 }
201 writer.WriteString(")/");
202 }
static CultureInfo InvariantCulture
static string JsonDateTimeOutOfRange
Definition SR.cs:550
Definition SR.cs:7
void WriteString(string? text)
virtual void WriteValue(object value)
Definition XmlWriter.cs:147

References System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted(), System.Runtime.Serialization.XmlObjectSerializer.CreateSerializationException(), System.Runtime.Serialization.Dictionary, System.Globalization.CultureInfo.InvariantCulture, System.SR.JsonDateTimeOutOfRange, System.L, System.TimeZoneInfo.Local, System.DateTime.MaxValue, System.DateTime.MinValue, System.Runtime.Serialization.Json.JsonGlobals.unixEpochTicks, System.value, System.Runtime.Serialization.XmlWriterDelegator.writer, System.Xml.XmlWriter.WriteString(), and System.Xml.XmlWriter.WriteValue().

Referenced by System.Runtime.Serialization.Json.JsonWriterDelegator.WriteDateTime().