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

◆ XsdDateTime() [3/5]

System.Xml.Schema.XsdDateTime.XsdDateTime ( DateTime dateTime,
XsdDateTimeFlags kinds )
inline

Definition at line 461 of file XsdDateTime.cs.

462 {
463 _dt = dateTime;
464 DateTimeTypeCode dateTimeTypeCode = (DateTimeTypeCode)(Bits.LeastPosition((uint)kinds) - 1);
465 int num = 0;
466 int num2 = 0;
467 XsdDateTimeKind xsdDateTimeKind;
468 switch (dateTime.Kind)
469 {
470 case DateTimeKind.Unspecified:
471 xsdDateTimeKind = XsdDateTimeKind.Unspecified;
472 break;
473 case DateTimeKind.Utc:
474 xsdDateTimeKind = XsdDateTimeKind.Zulu;
475 break;
476 default:
477 {
478 TimeSpan utcOffset = TimeZoneInfo.Local.GetUtcOffset(dateTime);
479 if (utcOffset.Ticks < 0)
480 {
481 xsdDateTimeKind = XsdDateTimeKind.LocalWestOfZulu;
482 num = -utcOffset.Hours;
483 num2 = -utcOffset.Minutes;
484 }
485 else
486 {
487 xsdDateTimeKind = XsdDateTimeKind.LocalEastOfZulu;
488 num = utcOffset.Hours;
489 num2 = utcOffset.Minutes;
490 }
491 break;
492 }
493 }
494 _extra = (uint)(((int)dateTimeTypeCode << 24) | ((int)xsdDateTimeKind << 16) | (num << 8) | num2);
495 }

References System.Xml.Schema.XsdDateTime._dt, System.Xml.Schema.XsdDateTime._extra, System.Xml.Dictionary, System.Xml.Bits.LeastPosition(), and System.TimeZoneInfo.Local.