C#對象先序列化而後反序列化時間丟失八小時的問題

把對象JSON序列化,而後反序列化後發現時間少了八小時。由於在東八區,因此序列的時候按照1970-01-01:08:00:00爲基數取得差值,而反序列化的時候以1970-01-01:00:00:00做爲的基數反序列成了標準時間,因此須要ToLocalTime一下或者手動+8。spa

 

  class Program
    {
        static void Main(string[] args)
        {
            UserInfo userInfo = new UserInfo();
            userInfo.CreateTime = DateTime.Now;
            string userString = SlJson.ToJson(userInfo);//序列化
            UserInfo userInfoAfter = SlJson.FromJson<UserInfo>(userString);//反序列化
            Console.WriteLine("時間戳:" + userString);
            Console.WriteLine("轉換後:" + userInfoAfter.CreateTime);
            Console.WriteLine("本地" + userInfoAfter.CreateTime.ToLocalTime());
            Console.ReadKey();
        }
    }

    public class UserInfo
    {
        public DateTime CreateTime { get; set; }
    }

輸出結果code

相關文章
相關標籤/搜索