我无法使用javascript在sharepoint列表中添加365天(日期格式:01/01/2014)。 但是当我输入'for'love = 250的范围时,它正在更新列表。 请参考以下代码。
function DateIncrement() {
var siteUrl = '/sites/..';
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('Student');
var itemCreateInfo = new SP.ListItemCreationInformation();
for (i = 1; i < 365; i++) {
var myDate = new Date("01/01/2014");
myDate.setDate(myDate.getDate() + i);
var str = myDate;
this.oListItem = oList.addItem(itemCreateInfo);
oListItem.set_item('Date', str);
oListItem.update();
}
clientContext.load(oListItem);
clientContext.executeQueryAsync(onSucceededCallback, onFailedCallback);
function onSucceededCallback(sender, args) {
alert("Complete");
}
function onFailedCallback(sender, args) {
alert("Failed");
}
}
答案 0 :(得分:0)
日期必须经过特殊格式化。在SharepointPlus中,我创建了一个将JavaScript Date转换为Sharepoint格式的函数。 格式应为:“年 - 月 - 日时:分:秒”。因此,对于“31 / Oct / 2012”,它必须是“2012-10-31 00:00:00”。
函数toSPDate
看起来像这样:
function toSPDate(oDate) {
var pad = function(p_str){
if(p_str.toString().length==1){p_str = '0' + p_str;}
return p_str;
};
var month = pad(oDate.getMonth()+1);
var day = pad(oDate.getDate());
var year = oDate.getFullYear();
var hours = pad(oDate.getHours());
var minutes = pad(oDate.getMinutes());
var seconds = pad(oDate.getSeconds());
return year+"-"+month+"-"+day+" "+hours+":"+minutes+":"+seconds;
}
注意:SharepointPlus使用Sharepoint Web服务。我不确定您是否需要对Microsoft本机功能执行相同操作。 注2:我再次阅读你的问题,但我不确定我是否正确理解......如果没有,请尝试再次解释你的问题。