javascript - 从 JavaScript 客户端发送到 .NET 的字符串格式的 UTC 日期正在转换为 DateTime

标签 javascript c# date datetime asp.net-web-api

我正在使用用 JavaScript 编写的客户端应用程序,该应用程序将数据发送到 ASP.NET Web api 端点(服务器)。

我要求用户选择日期和时间。我使用 .toUTCString() 将该日期转换为 UTC 日期时间作为 string

我将此信息发送到 .NET 应用程序,该应用程序期望该值是 DateTime 类型。

我发送的值 = 2015 年 12 月 31 日星期四 03:30:00 GMT

我在 .net 端收到的值 = {12/30/2015 10:30:00 PM}

我了解该值正在转换。我的问题是:如何在服务器端将日期转换为 UTC。我的假设是 DateTime 对象没有附加隐式的时区偏移。如果我在格林威治运行代码时运行 ToUniversalTime() ,那么我会得到相同的时间。如果我住在温哥华时这样做,那么我会得到 -8 小时的偏移 DateTime 对象。

所以我是一个来自不同位置的客户端,我使用.ToUniversalTime()将该时间转换为UTC,转换将是错误的。我该如何克服这个问题?

最佳答案

如果用户选择日期和时间,我认为它不是当前的并且是相对于用户的。在这种情况下,是的,如果您想进一步分析数据或将其呈现给另一个时区的其他用户,您可能需要转换为 UTC。如果您不将其转换为 UTC,您将收到相对日期/时间,并且需要另一个指示时区的数据。但即使在这种情况下,除了安全措施之外,没有其他办法可以在服务器上计算可以在客户端轻松计算的内容。

关于javascript - 从 JavaScript 客户端发送到 .NET 的字符串格式的 UTC 日期正在转换为 DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34535828/

相关文章:

mysql - 使用生成大量计算统计信息的 MariaDB View - 如何移动到计算表?

php - 如何将 php 中的第一个日期时间对象与另一个日期时间对象进行比较

javascript - 如何在div之间绘制响应线

javascript - 在 jQuery 语法中声明变量

Javascript onchange(this.value,that.value)不适用于ipad

c# - 将 JSON 文件加载到 ListBox 和 TextBox C#

c# - dataview rowfilter 值到数据表的转换

c# - 如何指定 Unity 在解析服务时使用的构造函数?

PHP 从表单中插入日期时间

javascript - Angular UI-Router $urlRouterProvider 。当我单击 <a ui-sref ="..."> 时不工作时