Serializer序列化/反序列化DateTime少了8小时问题解决

1.举例子

JavascriptSerializer serializer = new JavascriptSerializer();
DateTime now = DateTime.Parse("2016-07-21 00:00:00");
Console.WriteLine(serializer.Deserialize<DateTime>(serializer.Serialize(now)));
//结果是:2015-07-20 16:00:00

2.为什么?

JavascriptSerializer序列化时把时间转成了UTC时间,而反序列化时没转回本地时间。

本地时间和UTC时间相差为8小时,这就导致了上边的问题。

3.怎么办?

(1)调用的时候,使用ToLocalTime方法,转换成本地时间。

(2)使用其他JSON序列化方法

链接:http://www.111cn.net/wy/js-ajax/77086.htm

时间: 2024-07-28 13:40:23

Serializer序列化/反序列化DateTime少了8小时问题解决的相关文章

jackson 转换 yyyy-MM-dd格式 少了一个小时问题解决(仅限中国)

如果你在你的实体类上面指定了@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8") 然后发现换成json后 小于 1991-09-14 22:59:59 这个时间的 每年的5.6.7.8.9 月 小于 09-14 22:59:59 这个时间都少一个小时 只需要把修改成@JsonFormat(pattern = "yyyy-MM-dd",timezone="Asia/Shanghai&qu

一个C#版的序列化/反序列化器-SharpSerialization

项目地址:https://sourceforge.net/projects/sharpserialization/ 我们的实际工作中经常会遇到跨语言的交互,如Java-C#-C++等,大部分情况下通过Xml.Json数据交换等协议可以很好的处理对象的交互,但有时我们希望数据流变得更小,性能变得更好,但同时又不想对现有程序做过多修改或者不想对每个协议对象编写特定的代码,这时,一个良好的二进制序列化器是自然的一个考虑,对于.Net语言间的交互,Framework自带的序列化器是自然也很好的选择,但当

一个更好的C++序列化/反序列化库Kapok

KapokFAQ1.Kapok的特点简单,易用,header-only,只需要引用Kapok.hpp即可:高效,初步测试性和messagepack相当.它是纯c++11实现,因此需要支持C++11的编译器. 2.主要功能对对象进行自动化的序列化和反序列化,用起来非常简单,先来看个序列化/反序列化一个tuple的例子吧. //序列化 Serializer sr; auto tp = std::make_tuple(10, 12, string("test")); sr.Serialize

92 序列化 反序列化

主要内容: 1 反序列化(post请求) a : 提交post请求, 先确定新增的数据结构, b: 解决序列化和反序列化的字段不统一的情框(序列化器中有的字段, 要序列化的字段必须有.) required = False, 只序列化, 不走校验 read_only:           只走序列化 write_only:           只走反序列化 c: 对于前端传过来的数据进行校验. 要触发反序列化过程中的create方法, def create(self, validated_data

DRF3序列化反序列化

序列化家族 Serializer序列化(了解) 视图类 Serializer反序列化(了解) 视图类 序列化类 ModelSerializer序列化与反序列化(重点) 视图类 序列化类 模型类 序列化家族 """ 1.Serializer类:底层序列化类 - 了解类 重点:单表序列化 2.ModelSerializer类:模型序列化类 - 核心类 重点:多表序列化 3.ListSerializer类:群操作序列化类 - 辅助类 重点:辅助完成单表多表群增群改操作 "

DRF框架之Serializer序列化器的序列化操作

在DRF框架中,有两种序列化器,一种是Serializer,另一种是ModelSerializer. 今天,我们就先来学习一下Serializer序列化器. 使用Serializer序列化器的开发步骤: 1. 定义Serializer序列化器 首先,我们要在子应用中,创建见一个serializers.py文件,用来编写Serializer序列化器代码. from rest_framework import serializers # 定义序列化器 class BookInfoSerializer

序列化反序列化

对Java对象序列化的目的是持久化对象或者为RMI(远程方法调用)传递参数和返回值. 下面是一个序列化对象写入文件的例子: ---------------------------- 1 package utils; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 import java.io.O

protostuff序列化/反序列化

Protostuff是基于Google protobuff技术的Java版本,直接使用原生的protobuff是需要数据结构的预编译过程,需要编写.proto格式的配置文件,再通过protobuff提供的工具翻译成目标语言代码,而Protostuff动态支持了protobuff的预编译的过程,可以直接使用普通java POJO进行序列化,简化编码. 经过实测序列化性能相对原生protpbuff没有影响. 由于Protostuff只支持Java实现,不过并未对序列化格式有做任何修改,所以Proto

.net 序列化反序列化

.net 序列化创建对象的深拷贝 public static object DeepClone(object original) { using (MemoryStream stream = new MemoryStream()) { //构造序列化格式化器来执行所有实习工作 BinaryFormatter formatter = new BinaryFormatter(); //流上下文 formatter.Context = new StreamingContext(StreamingCon