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

◆ CalculateUtcOffset()

static TimeSpan System.TimeZone.CalculateUtcOffset ( DateTime time,
DaylightTime daylightTimes )
inlinestaticpackage

Definition at line 104 of file TimeZone.cs.

105 {
106 if (daylightTimes == null)
107 {
108 return TimeSpan.Zero;
109 }
110 DateTimeKind kind = time.Kind;
111 if (kind == DateTimeKind.Utc)
112 {
113 return TimeSpan.Zero;
114 }
115 DateTime dateTime = daylightTimes.Start + daylightTimes.Delta;
116 DateTime end = daylightTimes.End;
117 DateTime dateTime2;
118 DateTime dateTime3;
119 if (daylightTimes.Delta.Ticks > 0)
120 {
121 dateTime2 = end - daylightTimes.Delta;
122 dateTime3 = end;
123 }
124 else
125 {
126 dateTime2 = dateTime;
127 dateTime3 = dateTime - daylightTimes.Delta;
128 }
129 bool flag = false;
130 if (dateTime > end)
131 {
132 if (time >= dateTime || time < end)
133 {
134 flag = true;
135 }
136 }
137 else if (time >= dateTime && time < end)
138 {
139 flag = true;
140 }
141 if (flag && time >= dateTime2 && time < dateTime3)
142 {
143 flag = time.IsAmbiguousDaylightSavingTime();
144 }
145 if (flag)
146 {
147 return daylightTimes.Delta;
148 }
149 return TimeSpan.Zero;
150 }

References System.Globalization.DaylightTime.Delta, System.Globalization.DaylightTime.End, System.DateTime.IsAmbiguousDaylightSavingTime(), System.DateTime.Kind, System.TimeSpan.Ticks, and System.TimeSpan.Zero.

Referenced by System.CurrentSystemTimeZone.GetUtcOffset(), and System.TimeZone.IsDaylightSavingTime().