真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在C#中使用JavaScriptSerializer序列化時間類型處理

今天就跟大家聊聊有關怎么在C#中使用JavaScriptSerializer序列化時間類型處理,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據(jù)這篇文章可以有所收獲。

海林ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

最近在做一個數(shù)據(jù)交換服務接口,用的 .NET Web API 項目。需要監(jiān)控每次請求的數(shù)據(jù),也就是操作日志。請求數(shù)據(jù)為實體對象,所以我用了序列化將請求內容讀取并寫入日志。咋一看,好像并沒有什么問題,但是時間卻不是我們平常看到的格式。效果圖是這樣的:

怎么在C#中使用JavaScriptSerializer序列化時間類型處理

猜測這里是由于 js 初始化時間的時候往往是向 1970/01/01 添加毫秒數(shù),JavaScriptSerializer 進行序列化的時候也會格式化為距離1970/01/01 到當前時間點 GMT+0 時間的毫秒數(shù),如果直接反序列化可以看到少了8小時,且時間精度到毫秒,原來初始化的時間精度是 10-7 秒。

這種時間格式是使用于 js 的,但如果我們想把這個信息保存的話,這樣的時間格式不適合閱讀。因此需要做一下轉換。以下代碼利用正則表達式將毫秒數(shù)轉換成本時區(qū)的時間格式:

/// 
    /// 序列化請求數(shù)據(jù)
    /// 
    /// 請求數(shù)據(jù)
    /// 
    public string LocalSerialize(object obj)
    {
      var jser = new System.Web.Script.Serialization.JavaScriptSerializer();
      var json = jser.Serialize(obj);
      //將時間格式轉換為適合閱讀習慣的格式
      json = System.Text.RegularExpressions.Regex.Replace(json, @"\\/Date\((\d+)\)\\/", match =>
      {
        DateTime dt = new DateTime(1970, 1, 1);
        dt = dt.AddMilliseconds(long.Parse(match.Groups[1].Value));
        dt = dt.ToLocalTime(); //本地時間
        return dt.ToString(); ;
      });
      return json;
    }

然后再調用該方法就可以了。完成后的效果圖:

怎么在C#中使用JavaScriptSerializer序列化時間類型處理

看完上述內容,你們對怎么在C#中使用JavaScriptSerializer序列化時間類型處理有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


文章標題:怎么在C#中使用JavaScriptSerializer序列化時間類型處理
網(wǎng)站地址:http://weahome.cn/article/jsjjee.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部