[英]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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.