c# - 将 javascript gettime() 转换为 c# 日期时间

标签 c# javascript datetime datetime-conversion

我使用 telerik raddatepicker 控件来选择日期。

我从控件中获取日期值,将其转换为 javascript Date 对象,然后使用 getTime 获取总毫秒数:

            var FromDate = $find("<%=fromDate.ClientID%>").get_dateInput().get_displayValue();
            var FromDateMill = new Date(FromDate).getTime();

我选择的日期是 6/4/2012(美国)。 当我打印 new Date(FromDate) 的结果时,我得到了我选择的正确日期。

在服务器端,我尝试使用从 javascript 获得的毫秒数来获取日期时间对象,因此我使用以下代码:

DateTime seventies = new DateTime(1970, 1, 1);
DateTime fromDate = seventies.AddMilliseconds(Convert.ToDouble(Reader["FromDateMill"]));

但是当我打印 fromDate 时,我得到 6/3/2012 9:00:00 AM(前一天..)。 我检查了一下,发现 toDouble 转换返回了正确的毫秒数,正如我在 javascript 中得到的那样。

有人知道我做错了什么吗?

谢谢, 因巴尔。

最佳答案

getTime 方法获取的值不是来自本地时间,而是来自世界时间。当您将这些毫秒添加到 1970-1-1 时,您将得到世界时间,而不是本地时间。

使用ToLocal方法获取本地时间的DateTime值:

DateTime fromDate =
  seventies.AddMilliseconds(Convert.ToDouble(Reader["FromDateMill"])).ToLocal();

关于c# - 将 javascript gettime() 转换为 c# 日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12235451/

相关文章:

javascript - Redux thunk 函数未运行

javascript - insertAdjacentHTML 无法读取 null 的属性

php - 为什么我不能在 PHP 的 DateTime 类中访问 DateTime->date?

java - 设置 xs :datetime type from java setter method omits milliseconds part of timestamp value

mysql - 按日期范围检索数据

c# - 使用 Facebook 注销

c# - SQL注入(inject)漏洞

javascript - 自定义框(js 插件)不工作?

c# - 需要此 C# 代码的 Javascript 等效项才能将值添加到 cookie

c# - 关闭父级而不关闭子级