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

◆ WriteUtcTimeCore()

void System.Formats.Asn1.AsnWriter.WriteUtcTimeCore ( Asn1Tag tag,
DateTimeOffset value )
inlineprivate

Definition at line 1181 of file AsnWriter.cs.

1182 {
1183 WriteTag(tag);
1184 WriteLength(13);
1185 DateTimeOffset dateTimeOffset = value.ToUniversalTime();
1186 int year = dateTimeOffset.Year;
1187 int month = dateTimeOffset.Month;
1188 int day = dateTimeOffset.Day;
1189 int hour = dateTimeOffset.Hour;
1190 int minute = dateTimeOffset.Minute;
1191 int second = dateTimeOffset.Second;
1192 Span<byte> span = _buffer.AsSpan(_offset);
1193 StandardFormat format = new StandardFormat('D', 2);
1194 if (!Utf8Formatter.TryFormat(year % 100, span.Slice(0, 2), out var bytesWritten, format) || !Utf8Formatter.TryFormat(month, span.Slice(2, 2), out bytesWritten, format) || !Utf8Formatter.TryFormat(day, span.Slice(4, 2), out bytesWritten, format) || !Utf8Formatter.TryFormat(hour, span.Slice(6, 2), out bytesWritten, format) || !Utf8Formatter.TryFormat(minute, span.Slice(8, 2), out bytesWritten, format) || !Utf8Formatter.TryFormat(second, span.Slice(10, 2), out bytesWritten, format))
1195 {
1196 throw new InvalidOperationException();
1197 }
1198 _buffer[_offset + 12] = 90;
1199 _offset += 13;
1200 }
static bool TryFormat(bool value, Span< byte > destination, out int bytesWritten, StandardFormat format=default(StandardFormat))
void WriteLength(int length)
Definition AsnWriter.cs:272
void WriteTag(Asn1Tag tag)
Definition AsnWriter.cs:261

References System.Formats.Asn1.AsnWriter._buffer, System.Formats.Asn1.AsnWriter._offset, System.format, System.Buffers.Text.Utf8Formatter.TryFormat(), System.value, System.Formats.Asn1.AsnWriter.WriteLength(), System.Formats.Asn1.AsnWriter.WriteTag(), and System.year.

Referenced by System.Formats.Asn1.AsnWriter.WriteUtcTime(), and System.Formats.Asn1.AsnWriter.WriteUtcTime().