Member 9926685 Ответов: 0

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

0 Ответов