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

◆ GetUtcOffsetFromUniversalTime()

long System.CurrentSystemTimeZone.GetUtcOffsetFromUniversalTime ( DateTime time,
ref bool isAmbiguousLocalDst )
inlinepackage

Definition at line 29 of file CurrentSystemTimeZone.cs.

30 {
31 TimeSpan timeSpan = new TimeSpan(m_ticksOffset);
32 DaylightTime daylightChanges = GetDaylightChanges(time.Year);
33 isAmbiguousLocalDst = false;
34 if (daylightChanges == null || daylightChanges.Delta.Ticks == 0L)
35 {
36 return timeSpan.Ticks;
37 }
38 DateTime dateTime = daylightChanges.Start - timeSpan;
39 DateTime dateTime2 = daylightChanges.End - timeSpan - daylightChanges.Delta;
40 DateTime dateTime3;
41 DateTime dateTime4;
42 if (daylightChanges.Delta.Ticks > 0)
43 {
44 dateTime3 = dateTime2 - daylightChanges.Delta;
45 dateTime4 = dateTime2;
46 }
47 else
48 {
49 dateTime3 = dateTime;
50 dateTime4 = dateTime - daylightChanges.Delta;
51 }
52 if ((!(dateTime > dateTime2)) ? (time >= dateTime && time < dateTime2) : (time < dateTime2 || time >= dateTime))
53 {
54 timeSpan += daylightChanges.Delta;
55 if (time >= dateTime3 && time < dateTime4)
56 {
57 isAmbiguousLocalDst = true;
58 }
59 }
60 return timeSpan.Ticks;
61 }
override DaylightTime GetDaylightChanges(int year)

References System.Globalization.DaylightTime.Delta, System.CurrentSystemTimeZone.GetDaylightChanges(), System.L, System.CurrentSystemTimeZone.m_ticksOffset, System.TimeSpan.Ticks, and System.DateTime.Year.

Referenced by System.CurrentSystemTimeZone.ToLocalTime().