Skip to content
This repository was archived by the owner on Apr 17, 2025. It is now read-only.

Commit 4757a04

Browse files
committed
Refactoring DateTimeOnly
1 parent 25d0042 commit 4757a04

File tree

3 files changed

+38
-38
lines changed

3 files changed

+38
-38
lines changed
Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
namespace NET6CustomLibrary.DateTime.Converters;
22

3-
//public class DateOnlyConverter : JsonConverter<DateOnly>
4-
//{
5-
// public override DateOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
6-
// {
7-
// var value = reader.GetString();
8-
// return DateOnly.Parse(value);
9-
// }
10-
11-
// public override void Write(Utf8JsonWriter writer, DateOnly value, JsonSerializerOptions options)
12-
// => writer.WriteStringValue(value.ToString("yyyy-MM-dd"));
13-
//}
14-
15-
public class DateOnlyConverter : ValueConverter<DateOnly, System.DateTime>
3+
public class DateOnlyConverter : JsonConverter<DateOnly>
164
{
17-
public DateOnlyConverter() : base(
18-
dateOnly => dateOnly.ToDateTime(TimeOnly.MinValue),
19-
dateTime => DateOnly.FromDateTime(dateTime))
5+
public override DateOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
206
{
7+
var value = reader.GetString();
8+
return DateOnly.Parse(value);
219
}
22-
}
10+
11+
public override void Write(Utf8JsonWriter writer, DateOnly value, JsonSerializerOptions options)
12+
=> writer.WriteStringValue(value.ToString("yyyy-MM-dd"));
13+
}
14+
15+
//public class DateOnlyConverter : ValueConverter<DateOnly, System.DateTime>
16+
//{
17+
// public DateOnlyConverter() : base(
18+
// dateOnly => dateOnly.ToDateTime(TimeOnly.MinValue),
19+
// dateTime => DateOnly.FromDateTime(dateTime))
20+
// {
21+
// }
22+
//}
Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
namespace NET6CustomLibrary.DateTime.Converters;
22

3-
//public class TimeOnlyConverter : JsonConverter<TimeOnly>
4-
//{
5-
// public override TimeOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
6-
// {
7-
// var value = reader.GetString();
8-
// return TimeOnly.Parse(value!);
9-
// }
10-
11-
// //public override void Write(Utf8JsonWriter writer, TimeOnly value, JsonSerializerOptions options)
12-
// // => writer.WriteStringValue(value.ToString("HH:mm:ss.fff"));
13-
// public override void Write(Utf8JsonWriter writer, TimeOnly value, JsonSerializerOptions options)
14-
// => writer.WriteStringValue(value.ToString("HH:mm:ss"));
15-
//}
16-
17-
public class TimeOnlyConverter : ValueConverter<TimeOnly, TimeSpan>
3+
public class TimeOnlyConverter : JsonConverter<TimeOnly>
184
{
19-
public TimeOnlyConverter() : base(
20-
timeOnly => timeOnly.ToTimeSpan(),
21-
timeSpan => TimeOnly.FromTimeSpan(timeSpan))
5+
public override TimeOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
226
{
7+
var value = reader.GetString();
8+
return TimeOnly.Parse(value!);
239
}
24-
}
10+
11+
//public override void Write(Utf8JsonWriter writer, TimeOnly value, JsonSerializerOptions options)
12+
// => writer.WriteStringValue(value.ToString("HH:mm:ss.fff"));
13+
public override void Write(Utf8JsonWriter writer, TimeOnly value, JsonSerializerOptions options)
14+
=> writer.WriteStringValue(value.ToString("HH:mm:ss"));
15+
}
16+
17+
//public class TimeOnlyConverter : ValueConverter<TimeOnly, TimeSpan>
18+
//{
19+
// public TimeOnlyConverter() : base(
20+
// timeOnly => timeOnly.ToTimeSpan(),
21+
// timeSpan => TimeOnly.FromTimeSpan(timeSpan))
22+
// {
23+
// }
24+
//}

src/NET6CustomLibrary/Extensions/DependencyInjection.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ public static IMvcBuilder AddDateTimeJsonOptions(this IMvcBuilder builder)
5959
builder.AddJsonOptions(options =>
6060
{
6161
options.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;
62-
//options.JsonSerializerOptions.Converters.Add(new DateOnlyConverter());
63-
//options.JsonSerializerOptions.Converters.Add(new TimeOnlyConverter());
62+
options.JsonSerializerOptions.Converters.Add(new DateOnlyConverter());
63+
options.JsonSerializerOptions.Converters.Add(new TimeOnlyConverter());
6464
options.JsonSerializerOptions.Converters.Add(new UtcDateTimeConverter());
6565
});
6666

0 commit comments

Comments
 (0)