无法使用 REST 在 SharePoint 中使用 JS Moment API
Can't Get JS Moment to Work in SharePoint with REST API
我在 SharePoint 2013 中使用 REST API 检索日期字段值。我需要从现在开始获取这些字段的值,所以我正在使用 JS Moment,但到目前为止我根本无法使用 moment 代码。这是我的 SharePoint REST API 代码的一些片段:
url:/sites/regulatory3/testdashboard/_api/web/lists/GetByTitle('Contacts')/items?"$Select=Created,OData__x0031_st_x0020_Draft_x0020_Test",
$.each(data.d.results, function (key, value) {
var createdDate1 = $.format.date(value.Created, 'dd/MM/yyyy');
var createdDate2 = createdDate1.toString();
var createdDate3 = new Date(createdDate2);
var firstDueDate1 = $.format.date(value.OData__x0031_st_x0020_Draft_x0020_Test, 'd MMM yyyy');
var firstDueDate2 = firstDueDate1.toString();
var firstDueDate3 = new Date(firstDueDate2);
这是我尝试过的方法:
var createdDate4 = moment(createdDate3).toNow();
var firstDueDate4 = moment(firstDueDate3).toNow();
test1 = moment([2019, 1, 29]).fromNow(); //example from tutorials - Not relevant to what I'm doing
test2 = moment().subtract(5, 'h'); //example from tutorials - Not relevant to what I'm doing
最后,这是我的 Moment:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-dateFormat/1.0/jquery.dateFormat.min.js" type="text/javascript"></script>
还有其他人遇到过这个问题吗?如果是,请提供指导和代码示例。
如果你想要一个从现在开始的 ItemCreated Date 值与 Today 比较,只需使用 moment(item.Created).fromNow() 即可,请参考以下代码:
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>
<script type="text/javascript">
$.ajax
({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/GetByTitle('MyList')/items",
type: "GET",
headers:
{
"Accept": "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
},
cache: false,
success: function(data)
{
for (var i = 0; i < data.d.results.length; i++)
{
var item = data.d.results[i];
var createdDate = moment(item.Created);
console.log(createdDate.fromNow());
}
},
error: function(data)
{
console.log(data.responseJSON.error);
}
});
</script>
我在 SharePoint 2013 中使用 REST API 检索日期字段值。我需要从现在开始获取这些字段的值,所以我正在使用 JS Moment,但到目前为止我根本无法使用 moment 代码。这是我的 SharePoint REST API 代码的一些片段:
url:/sites/regulatory3/testdashboard/_api/web/lists/GetByTitle('Contacts')/items?"$Select=Created,OData__x0031_st_x0020_Draft_x0020_Test",
$.each(data.d.results, function (key, value) {
var createdDate1 = $.format.date(value.Created, 'dd/MM/yyyy');
var createdDate2 = createdDate1.toString();
var createdDate3 = new Date(createdDate2);
var firstDueDate1 = $.format.date(value.OData__x0031_st_x0020_Draft_x0020_Test, 'd MMM yyyy');
var firstDueDate2 = firstDueDate1.toString();
var firstDueDate3 = new Date(firstDueDate2);
这是我尝试过的方法:
var createdDate4 = moment(createdDate3).toNow();
var firstDueDate4 = moment(firstDueDate3).toNow();
test1 = moment([2019, 1, 29]).fromNow(); //example from tutorials - Not relevant to what I'm doing
test2 = moment().subtract(5, 'h'); //example from tutorials - Not relevant to what I'm doing
最后,这是我的 Moment:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-dateFormat/1.0/jquery.dateFormat.min.js" type="text/javascript"></script>
还有其他人遇到过这个问题吗?如果是,请提供指导和代码示例。
如果你想要一个从现在开始的 ItemCreated Date 值与 Today 比较,只需使用 moment(item.Created).fromNow() 即可,请参考以下代码:
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>
<script type="text/javascript">
$.ajax
({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/GetByTitle('MyList')/items",
type: "GET",
headers:
{
"Accept": "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
},
cache: false,
success: function(data)
{
for (var i = 0; i < data.d.results.length; i++)
{
var item = data.d.results[i];
var createdDate = moment(item.Created);
console.log(createdDate.fromNow());
}
},
error: function(data)
{
console.log(data.responseJSON.error);
}
});
</script>