【问题标题】:How to format a JSON date without \ / Date? [duplicate]如何格式化没有 \ / 日期的 JSON 日期? [复制]
【发布时间】:2013-01-31 01:48:05
【问题描述】:

我需要这种格式的 JSON 日期格式:docDate":"1360905419116"、","inDocDate":"1360905419116" 等。

我的序列化:

JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
string result = jsonSerializer.Serialize( new {
    docDate = DateTime.Now,
    inDocDate = DateTime.Now,
    outDocDate = DateTime.Now } );

序列化后我收到的结果:

{"docDate":"\/Date(1360905419116)\/","inDocDate":"\/Date(1360905419116)\/","outDocDate":"\/Date(1360905419116)\/"}

我想拥有

{"docDate":"1360905419116","inDocDate":"1360905419116","outDocDate":"1360905419116"}

【问题讨论】:

    标签: c# serialization


    【解决方案1】:

    你可以使用这个扩展方法

    public static class DateTimeExtensions
    {
      internal static readonly long DatetimeMinTimeTicks = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).Ticks;
    
      public static long ToJsTime(this DateTime dateTime)
      {
        return (dateTime.ToUniversalTime().Ticks - DatetimeMinTimeTicks) / 10000L;
      }
    }
    

    所以你的代码变成了:

    string result = jsonSerializer.Serialize( new {
        docDate = DateTime.Now.ToJsTime().ToString(),
        inDocDate = DateTime.Now.ToJsTime().ToString(),
        outDocDate = DateTime.Now.ToJsTime().ToString() } );
    

    【讨论】:

      猜你喜欢
      • 2013-07-10
      • 2016-09-23
      • 1970-01-01
      • 1970-01-01
      • 2021-09-18
      • 1970-01-01
      相关资源
      最近更新 更多