c# - 将日期时间转换为 JSON 日期时间

标签 c# .net json web-services

我有一个返回日期时间字段的 Web 服务。

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

我只想要 1379048144000 我该如何实现。

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

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

最佳答案

您可以更改 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;
    }
    ...
}

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

public long GetMyDate(...)
{
    DateTime dateTime = ...;
    return dateTime.ToUnixTime();
}

关于c# - 将日期时间转换为 JSON 日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18820896/

相关文章:

c# - 如何使用 C# 将带反斜杠的字符串插入到表中

C# 对象或数组

c# - 电子邮件地址编码问题

javascript - 如何将 JSON 记录作为单个元素推送到空数组中 [Angular]

javascript - 为 Google MAPS API v3 加载 JSON 数据

c# - 通过计算零位以科学记数法显示非常大或非常小的数字

c# - 从 C# 项目创建 WSDL

.net - 用户在采用 Silverlight 时是否有问题?

c# - 如何使用泛型比较 C# 中的 X 列表和 Y 列表?

c# - 将未知的 JSON 字符串转换为正确的对象