Utf8jsonreader Datetimeoffset Parsing Rfc 3339 !!hot!! (PREMIUM 2024)

if (reader.TokenType == JsonTokenType.PropertyName && reader.GetString() == "created")

public class Event

if (reader.TokenType != JsonTokenType.String) throw new JsonException("Expected string token"); string s = reader.GetString(); const string rfc3339Pattern = "yyyy-MM-dd'T'HH:mm:ss.FFFFFFFK";

byte[] jsonUtf8 = Encoding.UTF8.GetBytes(@" ""created"": ""2023-12-01T09:15:30+02:00"" "); Utf8JsonReader reader = new Utf8JsonReader(jsonUtf8); while (reader.Read())

if (reader.TokenType != JsonTokenType.String) throw new JsonException("Expected string token for DateTimeOffset");

| Example | Meaning | |----------------------------------|-----------------------| | 2023-10-05T14:30:00Z | UTC | | 2023-10-05T14:30:00+02:00 | UTC+2 | | 2023-10-05T14:30:00.123-05:00 | UTC-5 with fraction |

DateTimeOffset.TryParse is forgiving. For strict RFC 3339 compliance, use DateTimeOffset.TryParseExact :

utf8jsonreader datetimeoffset parsing rfc 3339
utf8jsonreader datetimeoffset parsing rfc 3339
utf8jsonreader datetimeoffset parsing rfc 3339

if (reader.TokenType == JsonTokenType.PropertyName && reader.GetString() == "created")

public class Event

if (reader.TokenType != JsonTokenType.String) throw new JsonException("Expected string token"); string s = reader.GetString(); const string rfc3339Pattern = "yyyy-MM-dd'T'HH:mm:ss.FFFFFFFK";

byte[] jsonUtf8 = Encoding.UTF8.GetBytes(@" ""created"": ""2023-12-01T09:15:30+02:00"" "); Utf8JsonReader reader = new Utf8JsonReader(jsonUtf8); while (reader.Read())

if (reader.TokenType != JsonTokenType.String) throw new JsonException("Expected string token for DateTimeOffset");

| Example | Meaning | |----------------------------------|-----------------------| | 2023-10-05T14:30:00Z | UTC | | 2023-10-05T14:30:00+02:00 | UTC+2 | | 2023-10-05T14:30:00.123-05:00 | UTC-5 with fraction |

DateTimeOffset.TryParse is forgiving. For strict RFC 3339 compliance, use DateTimeOffset.TryParseExact :