【发布时间】:2019-10-19 02:34:06
【问题描述】:
我得到了许多日期时间字段,我在 Startup.cs 中处理之前将它们转换为 UTC,但我想忽略一些要转换为 UTC 的字段,例如 DOB。如何忽略某些字段。我是否需要放置任何属性或某些东西,以便我可以按原样使用 dob 而无需转换为 UTC。
Startup.cs相关代码
var builder = services.AddMvc();
builder.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
// for UTC for datetime
options.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Utc;
IsoDateTimeConverter dateConverter = new IsoDateTimeConverter
{
DateTimeFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.fff'Z'"
};
//options.SerializerSettings.Converters.Add(dateConverter);
});
具有 dob 字段的类
[DataContract(Name = "Patient")]
public class Patient
{
[DataMember(IsRequired = true)]
public Guid PatientId { get; set; }
[DataMember(IsRequired = true)]
public DateTime DateOfBirth { get; set; }
}
【问题讨论】:
-
伙计,尝试删除这行
options.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Utc; IsoDateTimeConverter dateConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy'-MM'-'dd'T'HH':'mm':'ss.fff'Z'" };在任何需要的地方,日期都将转换为UTC日期。 -
我想要 utc 日期,但不是所有字段。如果我删除这些行,那么它将适用于所有人。
标签: c# asp.net asp.net-mvc asp.net-core asp.net-core-mvc