一尘不染

将DateTime转换为JSON DateTime

json

我有一个WebService返回DateTime字段。

我得到一个结果,/Date(1379048144000)/但是

我想我1379048144000怎么能做到这一点。

[WebMethod]
public DateTime GetServerDate()
{
    return DateTime.Now;
}

通过设置Header Content-Type:application / json; charset = utf-8;
我得到了类似的结果/Date(1379048144000)/


阅读 448

收藏
2020-07-27

共1个答案

一尘不染

您可以更改您的WS以返回带有DateTime值的long。要返回的值是自Unix纪元(01/01/1970)以来的毫秒数。这可以通过DateTime类似以下方法的扩展方法来完成:

public static class DateTimeExtensions
{
    ...
    private static readonly DateTime UnixEpoch = new DateTime(1970, 1, 1);

    public static long ToUnixTime(this DateTime dateTime)
    {
        return (dateTime - UnixEpoch).Ticks / TimeSpan.TicksPerMillisecond;
    }
    ...
}

您的Web服务方法可能类似于:

public long GetMyDate(...)
{
    DateTime dateTime = ...;
    return dateTime.ToUnixTime();
}
2020-07-27