I cannot find a working solution to set a SharePoint 2013 list date using SPServices. I have done this multiple times for other column types, but I can't figure out the right format for dates. Here's what I'm doing:
var testdate = "2016-01-01 00:00:00";
$().SPServices({
operation: "UpdateListItems",
async: false,
listName: "Requests",
ID: 4,
valuepairs: [["Due Date", testdate]],
completefunc: function (xData, Status) {
}
});
I have also tried it with these test values, but nothing changes on my site:
var testdate = "2016-1-1 0:0:0";
var testdate = "2016-01-01T00:00:00Z";
var testdate = "2016-1-1T0:0:0Z";
var testdate = "2016-01-01T00:00:00";
var testdate = "2016-1-1T0:0:0";
Please let me know if there's another date format I should try, or if you see anything else wrong with this code. It works when I point to one of my text fields, so I'm pretty sure it's just the date format that's messing things up.
UpdateListItems
operation expects date string to be provided in ISO 8601 format, for example:
var dueDateVal = new Date('2016-01-01 6:00:00').toISOString();
$().SPServices({
operation: "UpdateListItems",
async: false,
listName: "Requests",
ID: 1,
valuepairs: [["DueDate", dueDateVal]],
completefunc: function (xData, Status) {
console.log('List items has been updated');
}
});
In addition, make sure the proper name of Due Date
column is specified. UpdateListItems
operation expects an array of column StaticNames and values have to be specified for valuepairs
.
If column named Due Date
has been created via UI, then Due_x0020_Date
static name will be generated and the operation for setting its value the should be specified like this:
var dueDateVal = new Date('2016-01-01 6:00:00').toISOString();
$().SPServices({
operation: "UpdateListItems",
async: false,
listName: "Requests",
ID: 1,
valuepairs: [["Due_x0020_Date", dueDateVal]],
completefunc: function (xData, Status) {
console.log('List items has been updated');
}
});