【发布时间】:2017-06-07 13:24:51
【问题描述】:
我有一些 JavaScript 正在查询 SharePoint 日期列。格式为:DD/MM/YYYY,结果返回正常,除了返回的日期,如设备详细信息下所示。
我正在尝试使用 Moment.js 库对其进行格式化,但我没有任何运气。 我认为要么是这一行:
var LifeCycleStart = item.DeviceAvailableFrom;
或者这一行我需要使用 Moment 格式:
$('#devicedetails').append($(txtTitle));
完整代码如下:
function getDeviceDetails() {
var txtTitle = "";
var txtOverview = "";
var txtAccessories = "";
var txtDevicetype = "";
var txtTypicalDeviceUsage ="";
var txtKnownSystemIssues ="";
var txtLifeCycles = "";
var tempLCS2 = "";
var query = "http://collaboration-dev.xxx.com/sites/it/SystemInventory/_vti_bin/listdata.svc/Devices?$expand=LifeCycleStatus&$filter=Id eq " + window.DeviceId + "";
var call = $.ajax({
url: query,
type: "GET",
dataType: "json",
headers: {
Accept: "application/json;odata=verbose"
}
});
call.done(function (data,textStatus, jqXHR){
$.each(data.d.results, function(index, item) {
var tempID = item.Id;
var tempTitle = item.Title;
var LifeCycleStart = item.DeviceAvailableFrom;
var LifeCycleStatus = item.LifeCycleStatusValue;
var DeviceOverView = item.Description;
var AccessDetails = item.Accessories;
var DeviceKind = item.Devicetype;
var Usage = item.TypicalUsage;
//var KnownSystem = item.KnownSystemIssues
txtTitle = "<p>" + LifeCycleStart + "</p> <p>" +
LifeCycleStatus + "</p>";
txtOverview = "<p>" + DeviceOverView + "</p>";
txtAccessories = "<p>" + AccessDetails + "</p>";
txtDevicetype = "<p>" + DeviceKind + "</p>";
txtTypicalDeviceUsage = "<p>" + Usage + "</p>";
});
$('#devicedetails').append($(txtTitle));
$('#deviceoverview').append($(txtOverview));
$('#devicekind').append(txtDevicetype);
$('#deviceacc').append(txtAccessories);
$('#deviceuse').append(txtTypicalDeviceUsage);
});
call.fail(function (jqXHR,textStatus,errorThrown){
alert("Error retrieving data: " + jqXHR.responseText);
});
}
【问题讨论】:
-
服务器是否返回
'/Date(1494460800000)/'?您需要将其格式化为DD/MM/YYYY格式吗?到目前为止你尝试了什么?我认为moment(/Date(1494460800000)/).format('DD/MM/YYYY')应该可以工作,请参阅moment parsing > ASP.NET JSON Date。 -
理想情况下是 DD/MM/YYYY。尝试了一些事情,包括: var LifeCycleStart = new Date(item.DeviceAvailableFrom); var wrapper = moment(wrapper).format("DD-MM-YY");我尝试的一切似乎都把剩下的结果都淘汰了
标签: javascript sharepoint-2010 momentjs