aboutsummaryrefslogtreecommitdiff
path: root/Timeline/Models/Converters/JsonDateTimeConverter.cs
diff options
context:
space:
mode:
author杨宇千 <crupest@outlook.com>2019-11-20 20:11:49 +0800
committerGitHub <noreply@github.com>2019-11-20 20:11:49 +0800
commitd5ef961861304f6bf5f4e3dd8119a81f12c0754a (patch)
treefb40d254bcec2946ce7c080089c76a342d3472b0 /Timeline/Models/Converters/JsonDateTimeConverter.cs
parentae0fe2a03e04a6d170ac5f05039afe2a9407f255 (diff)
parentc74d95b029caaf4f69977179823ebefb6f88029a (diff)
downloadtimeline-d5ef961861304f6bf5f4e3dd8119a81f12c0754a.tar.gz
timeline-d5ef961861304f6bf5f4e3dd8119a81f12c0754a.tar.bz2
timeline-d5ef961861304f6bf5f4e3dd8119a81f12c0754a.zip
Merge pull request #55 from crupest/format
Fix some format problems.
Diffstat (limited to 'Timeline/Models/Converters/JsonDateTimeConverter.cs')
-rw-r--r--Timeline/Models/Converters/JsonDateTimeConverter.cs23
1 files changed, 23 insertions, 0 deletions
diff --git a/Timeline/Models/Converters/JsonDateTimeConverter.cs b/Timeline/Models/Converters/JsonDateTimeConverter.cs
new file mode 100644
index 00000000..551bbbaa
--- /dev/null
+++ b/Timeline/Models/Converters/JsonDateTimeConverter.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Diagnostics;
+using System.Globalization;
+using System.Text.Json;
+using System.Text.Json.Serialization;
+
+namespace Timeline.Models.Converters
+{
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1062:Validate arguments of public methods")]
+ public class JsonDateTimeConverter : JsonConverter<DateTime>
+ {
+ public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+ {
+ Debug.Assert(typeToConvert == typeof(DateTime));
+ return DateTime.Parse(reader.GetString(), CultureInfo.InvariantCulture);
+ }
+
+ public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options)
+ {
+ writer.WriteStringValue(value.ToUniversalTime().ToString("s", CultureInfo.InvariantCulture));
+ }
+ }
+}