【发布时间】:2015-12-14 15:45:47
【问题描述】:
试图将已经被 momentjs 转换为 UTC 的 datetime 对象传递给我的 MVC 控制器。我正在使用剑道 datetimepicker,出于某种原因,moment.utc 不会向控制器发送我想要的值。例如,我在我的剑道 datetimepicker 中输入“9/17/2015 12:00 AM”。我得到这个值:
var start = $("#startTime").val();
这给了我 "9/17/2015 12:00 AM" 。伟大的。然后我将其转换为日期对象:
var t1 = new Date(start);
读取为 Thu Sep 17 2015 00:00:00 GMT-0700 (Pacific Daylight Time) {} 。看起来还是不错的。接下来我尝试使用时刻转换为 UTC:
var t2 = moment.utc(t1);
这给了我
dt {_isAMomentObject: true, _i: Thu Sep 17 2015 00:00:00 GMT-0700 (Pacific Daylight Time), _isUTC: true, _locale: fu, _d: Thu Sep 17 2015 00:00:0...
未转换为 UTC。而不是转换它似乎所做的一切是获取一个日期对象,让我告诉它“嘿,这是 UTC”,它说“好的”(通过标记 _isUTC:true),即使它仍然在那里保存 GMT 值
即使我决定先制作一个时刻对象,然后在其上运行 UTC?结果还是一样:
var t2 = moment(t1);
var t3 = moment.utc(t2);
因此,如果我在其中任何一个值上运行 .format()(这是我需要传递给我的控制器的内容),我总是会得到“2015-09-17T07:00:00+00:00”,这不是 UTC 时间。这是我输入的确切时间。我在这里做错了什么?
【问题讨论】:
标签: asp.net-mvc kendo-ui momentjs