Javascript 传递给 Web Api 控制器时日期(时间部分)错误

Javascript Date (Time part) wrong when passed to Web Api controller

所以标题可能不是最好的措辞..所以我会用图片来演示。

我正在 Javascript 创建一个 Date。然后我设置这个 Date 的小时和分钟。

然后我将其传递给 Web Api 控制器。当日期到达控制器时,时间部分关闭 - 根据我机器上的 GMT 偏移量。

所以在这里,控制台显示我选择了时间 10:00am。这是我想在服务器上看到的时间

当它到达服务器时,我在我的控制器中得到了这个 - GMT 已在某处或其他地方应用...:

我的问题是如何防止这种情况发生?我想从日历中选择一个日期,然后从下拉菜单中选择时间。我希望这次不更改地传递到 Web Api。

Javascript 会更正到你的本地时间,这是很多此类问题的根源。你看到你的时间恰好是 5 小时的休息时间 (10+5 = 15 = 3pm),正好是你的时区。

确保您发送至 Javascript 的时间已更正为 UTC,然后 Javascript 会自动为您将其转换为当地时间。