--- lang: ja-jp breaks: true --- # MessagePack の `MessagePackSerializer` で DateTime型をシリアライズすると 世界標準時の時間となる C# 2021-09-17 > http://neue.cc/category/programming/page/3 ## `NativeDateTimeResolver` を使用すると解決する ```csharp= public class MessagePackSerializerOption { public static MessagePackSerializerOptions Option; static MessagePackSerializerOption() { // StandardResolverによる解決の前にNativeDateTimeResolverで解決させる IFormatterResolver datetimeResolver = MessagePack.Resolvers.CompositeResolver.Create( NativeDateTimeResolver.Instance, ContractlessStandardResolverAllowPrivate.Instance ); Option = ContractlessStandardResolverAllowPrivate.Options .WithCompression(MessagePackCompression.Lz4Block) .WithResolver(datetimeResolver); ; } } ``` ```csharp= public class MessagePackSerializerOption { public static MessagePackSerializerOptions Option; static MessagePackSerializerOption() { // StandardResolverによる解決の前にNativeDateTimeResolverで解決させる IFormatterResolver datetimeResolver = MessagePack.Resolvers.CompositeResolver.Create( NativeDateTimeResolver.Instance, ContractlessStandardResolver.Instance ); Option = ContractlessStandardResolver.Options .WithCompression(MessagePackCompression.Lz4Block) .WithResolver(datetimeResolver); ; } } ``` ###### tags: `MessagePack` `MagicOnion` `gRPC` `シリアライズ` `C#`