在和 Go 語言提供的 API 通信時,如果 Go Json 反序列化字段類型直接使用的 time.Time 那么對時間有格式要求,必須是 RFC3399
# 秒
DateTime.Now.ToString("yyyy-MM-dd'T'HH:mm:ss'Z'")
# 毫秒
DateTime.Now.ToString("yyyy-MM-dd'T'HH:mm:ss.fff'Z'")
Newtonsoft.Json 處理
var timeFormat = new IsoDateTimeConverter();
timeFormat.DateTimeFormat = "yyyy-MM-dd'T'HH:mm:ss'Z'";
JsonConvert.SerializeObject(new { CreateTime = DateTime.Now }, Formatting.Indented, timeFormat);
setting 方式
var setting = new JsonSerializerSettings()
{
DateFormatString = "yyyy-MM-dd'T'HH:mm:ss'Z'"
};
JsonConvert.SerializeObject(new { CreateTime = DateTime.Now }, setting);