csharp/Microsoft.Azure.Databricks.Client/Converters/MillisecondEpochDateTimeConverter.cs (24 lines of code) (raw):

// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. using System; using System.Text.Json; using System.Text.Json.Serialization; namespace Microsoft.Azure.Databricks.Client.Converters; public class MillisecondEpochDateTimeConverter : JsonConverter<DateTimeOffset?> { public override bool HandleNull => true; public override DateTimeOffset? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { if (reader.TryGetInt64(out var time)) { return DateTimeOffset.FromUnixTimeMilliseconds(time); } return null; } public override void Write(Utf8JsonWriter writer, DateTimeOffset? dto, JsonSerializerOptions options) { if (dto.HasValue) { writer.WriteNumberValue(dto.Value.ToUnixTimeMilliseconds()); } } }