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

◆ TryFormatDateTimeG()

static bool System.Buffers.Text.Utf8Formatter.TryFormatDateTimeG ( DateTime value,
TimeSpan offset,
Span< byte > destination,
out int bytesWritten )
inlinestaticprivate

Definition at line 170 of file Utf8Formatter.cs.

171 {
172 int num = 19;
173 if (offset != Utf8Constants.NullUtcOffset)
174 {
175 num += 7;
176 }
177 if (destination.Length < num)
178 {
179 bytesWritten = 0;
180 return false;
181 }
182 bytesWritten = num;
183 byte b = destination[18];
184 value.GetDate(out var year, out var month, out var day);
185 value.GetTime(out var hour, out var minute, out var second);
186 FormattingHelpers.WriteTwoDecimalDigits((uint)month, destination);
187 destination[2] = 47;
188 FormattingHelpers.WriteTwoDecimalDigits((uint)day, destination, 3);
189 destination[5] = 47;
190 FormattingHelpers.WriteFourDecimalDigits((uint)year, destination, 6);
191 destination[10] = 32;
192 FormattingHelpers.WriteTwoDecimalDigits((uint)hour, destination, 11);
193 destination[13] = 58;
194 FormattingHelpers.WriteTwoDecimalDigits((uint)minute, destination, 14);
195 destination[16] = 58;
196 FormattingHelpers.WriteTwoDecimalDigits((uint)second, destination, 17);
197 if (offset != Utf8Constants.NullUtcOffset)
198 {
199 int num2 = (int)(offset.Ticks / 600000000);
200 byte b2;
201 if (num2 < 0)
202 {
203 b2 = 45;
204 num2 = -num2;
205 }
206 else
207 {
208 b2 = 43;
209 }
210 int result;
211 int value2 = Math.DivRem(num2, 60, out result);
212 FormattingHelpers.WriteTwoDecimalDigits((uint)result, destination, 24);
213 destination[23] = 58;
214 FormattingHelpers.WriteTwoDecimalDigits((uint)value2, destination, 21);
215 destination[20] = b2;
216 destination[19] = 32;
217 }
218 return true;
219 }

References System.destination, System.Math.DivRem(), System.Buffers.Text.Utf8Constants.NullUtcOffset, System.offset, System.value, System.Buffers.Text.FormattingHelpers.WriteFourDecimalDigits(), System.Buffers.Text.FormattingHelpers.WriteTwoDecimalDigits(), and System.year.

Referenced by System.Buffers.Text.Utf8Formatter.TryFormat(), and System.Buffers.Text.Utf8Formatter.TryFormat().