diff --git a/Directory.Packages.props b/Directory.Packages.props index 012a22a..e362919 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -4,7 +4,7 @@ true - + diff --git a/src/reader/MsgPackReader.Collections.cs b/src/reader/MsgPackReader.Collections.cs index 5a09976..b4e737d 100644 --- a/src/reader/MsgPackReader.Collections.cs +++ b/src/reader/MsgPackReader.Collections.cs @@ -134,9 +134,9 @@ void ITypeDeserializer.SkipValue(ISerdeInfo info, int index) throw new NotImplementedException(); } - DateTimeOffset ITypeDeserializer.ReadDateTimeOffset(ISerdeInfo info, int index) + DateTime ITypeDeserializer.ReadDateTime(ISerdeInfo info, int index) { - var next = deserializer.ReadDateTimeOffset(); + var next = deserializer.ReadDateTime(); _index++; return next; } diff --git a/src/reader/MsgPackReader.ITypeDeserializer.cs b/src/reader/MsgPackReader.ITypeDeserializer.cs index 38ea92c..468ad09 100644 --- a/src/reader/MsgPackReader.ITypeDeserializer.cs +++ b/src/reader/MsgPackReader.ITypeDeserializer.cs @@ -74,8 +74,8 @@ int ITypeDeserializer.TryReadIndex(ISerdeInfo map, out string? errorName) } } - DateTimeOffset ITypeDeserializer.ReadDateTimeOffset(ISerdeInfo info, int index) - => deserializer.ReadDateTimeOffset(); + DateTime ITypeDeserializer.ReadDateTime(ISerdeInfo info, int index) + => deserializer.ReadDateTime(); void ITypeDeserializer.ReadBytes(ISerdeInfo info, int index, IBufferWriter writer) { diff --git a/src/reader/MsgPackReader.cs b/src/reader/MsgPackReader.cs index 617f864..00db52a 100644 --- a/src/reader/MsgPackReader.cs +++ b/src/reader/MsgPackReader.cs @@ -351,7 +351,7 @@ private string ReadString() return str; } - public DateTimeOffset ReadDateTimeOffset() + public DateTime ReadDateTime() { return DateTime.Parse(ReadString(), styles: DateTimeStyles.RoundtripKind); } diff --git a/src/writer/MsgPackWriter.EnumSerializer.cs b/src/writer/MsgPackWriter.EnumSerializer.cs index 78d9b5d..9cd3209 100644 --- a/src/writer/MsgPackWriter.EnumSerializer.cs +++ b/src/writer/MsgPackWriter.EnumSerializer.cs @@ -37,6 +37,8 @@ public void WriteValue(ISerdeInfo typeInfo, int index, T value, ISerialize public void WriteU64(ISerdeInfo typeInfo, int index, ulong u64) => writer.WriteU64(u64); public void WriteDateTimeOffset(ISerdeInfo typeInfo, int index, DateTimeOffset dateTimeOffset) => writer.WriteDateTimeOffset(dateTimeOffset); + public void WriteDateTime(ISerdeInfo typeInfo, int index, DateTime dateTime) + => writer.WriteDateTime(dateTime); public void WriteBytes(ISerdeInfo typeInfo, int index, ReadOnlyMemory bytes) => writer.WriteBytes(bytes); } diff --git a/src/writer/MsgPackWriter.ISerializeCollection.cs b/src/writer/MsgPackWriter.ISerializeCollection.cs index afa1625..f249710 100644 --- a/src/writer/MsgPackWriter.ISerializeCollection.cs +++ b/src/writer/MsgPackWriter.ISerializeCollection.cs @@ -62,6 +62,9 @@ public void WriteValue(ISerdeInfo typeInfo, int index, T value, ISerialize public void WriteDateTimeOffset(ISerdeInfo typeInfo, int index, DateTimeOffset dateTimeOffset) => writer.WriteDateTimeOffset(dateTimeOffset); + public void WriteDateTime(ISerdeInfo typeInfo, int index, DateTime dateTime) + => writer.WriteDateTime(dateTime); + public void WriteBytes(ISerdeInfo typeInfo, int index, ReadOnlyMemory bytes) => writer.WriteBytes(bytes); } diff --git a/src/writer/MsgPackWriter.ISerializeType.cs b/src/writer/MsgPackWriter.ISerializeType.cs index 8bafbfd..e1d5a72 100644 --- a/src/writer/MsgPackWriter.ISerializeType.cs +++ b/src/writer/MsgPackWriter.ISerializeType.cs @@ -118,6 +118,12 @@ void ITypeSerializer.WriteDateTimeOffset(ISerdeInfo typeInfo, int index, DateTim WriteDateTimeOffset(dt); } + void ITypeSerializer.WriteDateTime(ISerdeInfo typeInfo, int index, DateTime dt) + { + WritePropertyName(typeInfo, index); + WriteDateTime(dt); + } + void ITypeSerializer.WriteBytes(ISerdeInfo typeInfo, int index, ReadOnlyMemory bytes) { WritePropertyName(typeInfo, index); diff --git a/src/writer/MsgPackWriter.cs b/src/writer/MsgPackWriter.cs index 22f24e2..565a99f 100644 --- a/src/writer/MsgPackWriter.cs +++ b/src/writer/MsgPackWriter.cs @@ -142,6 +142,11 @@ public void WriteDateTimeOffset(DateTimeOffset dt) WriteString(dt.ToString("O")); } + public void WriteDateTime(DateTime dt) + { + WriteString(dt.ToString("O")); + } + public void WriteBytes(ReadOnlyMemory bytes) { byte code = bytes.Length switch