Rest возвращает неверную дату в sharepoint 2013
Я использую приведенный ниже код для извлечения данных из моего списка:
$http({ method: 'GET', url: _spPageContextInfo.webAbsoluteUrl+"/_api/web/lists/getbytitle('Mylist')/items?$select=*,Resource/ID&$expand=Resource&$filter=(Resource/ID eq "+ resId +")&$orderby=EndDate desc", headers: { 'Accept': 'application/json; odata=verbose' } }).success(function (d) { dataM = []; $(d.d.results).each(function (i, e) { dataM.push({ id: e['Id'], StartDate: svc.formatDate(new Date(e['StartDate'])), EndDate: svc.formatDate(new Date(e['EndDate'])), ResourceDailyRate: e['Resource_x0020_Daily_x0020_Rate'], ClientDailyRate: e['Client_x0020_Daily_x0020_Rate'], PoliceCheck : ((e['Police_x0020_Check'] == null || e['Police_x0020_Check'] == 'Select')? 'X' : e['Police_x0020_Check']), CreatedClientContract: (e['Created_x0020__x0028_Client_x002'] == null ? 'X' : e['Created_x0020__x0028_Client_x002']), SignedApproved: (e['Signed_x002f_Approved_x0020__x00'] == null ? 'X' : e['Signed_x002f_Approved_x0020__x00']), CounterSigned: (e['Countersigned_x0020__x0028_Clien'] == null ? 'X' : e['Countersigned_x0020__x0028_Clien']), SignedResource : (e['Signed_x0020__x0028_Resource_x00'] == null ? 'X' : e['Signed_x0020__x0028_Resource_x00']), CounterSignedResource : (e['Countersigned_x0020__x0028_Resou'] == null ? 'X' : e['Countersigned_x0020__x0028_Resou']), PORecieved : (e['PO_x0020_Recieved'] == null ? 'X' : e['PO_x0020_Recieved']), ReoccurringInvoice : (e['Reoccurring_x0020_Invoice'] == null ? 'X' : e['Reoccurring_x0020_Invoice']), DocType: e['Doc_x0020_Type'], DocID: e['Doc_x0020_ID'], PONumber :e['PO_x0020_Number'] }); }); console.log('dataM',dataM); callback(dataM); deferred.resolve(dataM); }).error(function (er) { alert(er); }); }
Он работает так, как и ожидалось, за исключением того, что он дает мне дату начала и окончания на 1 день раньше. Может ли кто-нибудь предложить какую-нибудь обходную работу?
Что я уже пробовал:
В
svc.formatDateфункция, которую я попробовал ниже кода:
svc.formatDate = function (dt) { var options = { day: "numeric", month: "long", year: "numeric" }; return dt.toLocaleDateString('en-AU', options); }
И еще я проверил
JSON.stringify&усилитель;
JSON.parse