我的数据库中存储了一个时间戳:
2019-05-17 15:33:23.137
我为此时间戳创建一个DateTime
对象。
我为此DateTime创建一个DTO
public MyDateDTO(DateTime date){
this.date = date;
}
无论我的系统设置为哪个时区,我都可以看到,当我返回此DTO时,日期是我期望的(我同时尝试了est和utc,在两种情况下,我都看到了DateTime.Ticks = 636937040031370000
。但是,似乎当此DTO序列化时,似乎已以某种方式添加了偏移量。
因此,如果我检查浏览器网络工具并将系统时区设置为UTC,则会看到浏览器收到的时间戳2019-05-17T15:33:23.137Z
。但是,如果我将系统时区设置为EST,则我的浏览器会收到时间戳2019-05-17T19:33:23.137Z
。
如何停止添加此偏移量?我可以看到从控制器函数返回dto时,时间戳未按预期进行转换,因此我认为必须在中间件中的某个地方完成该操作?
我可以通过转换ToLocalTime
对象上的调用DateTime
来抵消偏移量(我认为是)来解决该问题,但我宁愿仅从一开始就排除该偏移量>