diff options
author | crupest <crupest@outlook.com> | 2019-12-10 13:55:44 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2019-12-10 13:55:44 +0800 |
commit | 4210aaaa1cf4966ee2d1dc6e6fcf6bd9889e4159 (patch) | |
tree | 584876517cb343d207d2b613706c69d748613370 /Timeline/Models/Converters/JsonDateTimeConverter.cs | |
parent | 77eaf82aaa12b995dcb0ea6bea092d44ef8d2199 (diff) | |
parent | d5ef961861304f6bf5f4e3dd8119a81f12c0754a (diff) | |
download | timeline-4210aaaa1cf4966ee2d1dc6e6fcf6bd9889e4159.tar.gz timeline-4210aaaa1cf4966ee2d1dc6e6fcf6bd9889e4159.tar.bz2 timeline-4210aaaa1cf4966ee2d1dc6e6fcf6bd9889e4159.zip |
Merge branch 'master' of github.com:crupest/Timeline
Diffstat (limited to 'Timeline/Models/Converters/JsonDateTimeConverter.cs')
-rw-r--r-- | Timeline/Models/Converters/JsonDateTimeConverter.cs | 23 |
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)); + } + } +} |