123456789101112131415161718192021222324252627282930 |
- using System;
- using Newtonsoft.Json;
- namespace EVCB_OCPP.Packet.Utilities
- {
- public class UTCDateTimeConverter : JsonConverter
- {
- public override bool CanConvert(Type objectType)
- {
- return objectType == typeof(DateTime);
- }
- public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
- {
- DateTime? timevalue = null;
- if (reader.Value != null)
- {
- DateTime date = ((DateTime)reader.Value).ToLocalTime();
- timevalue = new DateTime(date.Year, date.Month, date.Day, date.TimeOfDay.Hours, date.TimeOfDay.Minutes, date.TimeOfDay.Seconds, 000);
- }
- return timevalue;
- }
- public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
- {
- var date = (DateTime)value;
- string timevalue = date.ToUniversalTime().ToString("yyyy-MM-ddT") + date.ToUniversalTime().TimeOfDay.ToString(@"hh\:mm\:ss\.fff")+ "Z";
- writer.WriteValue(timevalue);
- }
- }
- }
|