Possible Duplicate:
How to convert UNIX timestamp to DateTime and vice versa?
I've got the following class:
[DataContractAttribute]
public class TestClass
{
[DataMemberAttribute]
public DateTime MyDateTime { get; set; }
}
Here's the JSON:
{ "MyDateTime":"1221818565" }
The JSON is being returned from a PHP webservice.
What I need to do, is convert that epoch string into a valid C# DateTime. What's the best way of doing this?
I can do this:
[IgnoreDataMemberAttribute]
public DateTime MyDateTime { get; set; }
[DataMemberAttribute(Name = "MyDateTime")]
public Int32 MyDateTimeTicks
{
get { return this.MyDateTime.Convert(...); }
set { this.Created = new DateTime(...); }
}
But the trouble with this is, the MyDateTimeTicks is public (changing it to private causes an exception in the serialization process)
Finishing what you posted, AND making it private seemed to work fine for me.
[DataContract]
public class TestClass
{
private static readonly DateTime unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
[IgnoreDataMember]
public DateTime MyDateTime { get; set; }
[DataMember(Name = "MyDateTime")]
private int MyDateTimeTicks
{
get { return (int)(this.MyDateTime - unixEpoch).TotalSeconds; }
set { this.MyDateTime = unixEpoch.AddSeconds(Convert.ToInt32(value)); }
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With