【经验分享】为什么后台取到的时间和前台差8个小时?

本文探讨了在前后端交互中,为何C#后台获取到的时间比前端时间晚8小时的问题。原因是JSON.NET在反序列化时自动将前端传来的标准时间字符串转换为日期对象,导致时区差异。解决方案是将JSON对象中的时间值转换为本地时间,或者设置JSON.NET的DateParseHandling属性避免自动转换。
摘要由CSDN通过智能技术生成

发现问题

单元格编辑时,你可能会遇到前台传入的时间,后台通过C#获取时差8个小时,这是怎么回事呢?

 

这个问题可能会困扰一些同学,我也不止一次的收到这样的问题,这个是昨天一个网友的提问:

 

之前还有网友在发表类似的问题:

 

为了演示这一过程,我通过一个简单的例子来说明问题,首先新建一个页面:

@(F.DatePicker().DateFormatString("yyyy-MM-dd HH:mm:ss").Label("开始日期").ID("DatePicker1").ShowTime(true).SelectedDate(DateTime.Now))
@(F.Button().ID("btnSubmit").Text("提交表单").OnClick(Url.Action("btnSubmit_Click"), "DatePicker1"))

@(F.Label().ID("labResult"))

 

后台代码:

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult btnSubmit_Click(FormCollection values)
{
    UIHelper.Label("labResult").Text("
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值