DataContract和自定义set/get从字符串中设置DateTime
本文关键字:字符串 设置 DateTime get 自定义 set DataContract | 更新日期: 2023-09-27 18:26:23
我需要解析来自服务器的JSON数据,并列出对象距离。
我使用DataContract是为了在json字典字段和类属性之间建立关联,但我遇到了一个问题:其中一个字段包含字符串中的日期(类似于"2011-01-01 15:00UTC");我想把它放在DateTime属性中。
如何将此字符串转换为日期时间,并使用DataContract自动将属性传递给它?这可能吗?
您可以使用以下属性:
[DataMember(Name="Foo")]
public string FormattedFoo {
get { return /* apply some custom formatting to 'Foo' */; }
set { Foo = /* apply some custom parsing to 'value' */; }
}
public DateTime Foo {get;set;}
将DataMember
属性而不是属性放在字段上,并使用setter/getter进行转换:
const string DATE_TIME_FORMAT = "<your format>";
[DataMember]
string myDate;
public DateTime MyDate {
get
{
return DateTime.ParseExact(myDate, DATE_TIME_FORMAT, CultureInfo.CurrentCulture);
}
set
{
myDate = value.ToString(DATE_TIME_FORMAT);
}
}