2

我正在尝试从元素中获取字符串日期值,并将其转换为 js var,以便使用 SPServices 添加到 SP 2010 列表(日期字段)。

我找到了 date.js 资源,但我不确定如何正确使用它。我所做的所有操作日期的操作都会将其更改为字符串... .format() 什么的。

我想我需要以某种方式将值更改为: 2013-01-01T19:20:15 以便通过 SPServices 并更新如下列表:

function CreateNewItem(subject, message) {
    $().SPServices({
        operation: "UpdateListItems",
        async: false,
        batchCmd: "New",
        listName: "Example",
        valuepairs: [["Title", subject], ["Message", message], ["DateField", date]],
        completefunc: function(xData, Status) {
          alert("completed");
        }
    });}

所以我尝试了 Date.parse 并且它不喜欢返回的值,但是我不确定如何在不将其设为字符串的情况下更改返回的值?

一如既往地感谢帮助。

编辑:更多说明......我正在使用 XSLT 从 XML 文件中获取值,并创建 html 页面以查看这些值。所以用xml

<div id="thisDateExample"><xsl:value of select="thisDateExampleDate"/></div>

所以我一直在尝试一些事情,比如从 jquery 选择器中获取字符串值:

var thisDateThatIsDrivingMeCrazy = $('#thisDateExample').text();

再说一次,我只是在学习所有这些东西,但我认为这使它成为一个字符串,并且我找到了 date.js 以将其恢复为我猜的日期格式?

var thisDateConverted = new Date(Date.parse(thisDateThatIsDrivingMeCrazy));

然后尝试传递到 SPServices?这是我认为有道理的一种方法,但我一定在这里做错了什么?如果我提醒这是使用与我相信的不同的格式。但再次按照上述规定,我为格式化它所做的任何事情(或我可以在该主题上找到的尝试)似乎都会将其更改为字符串(我假设)并且不起作用。帮助总是很感激!太棒了!

4

1 回答 1

1

想通了这一点,尽管我认为我最初的问题只是缺少一些内容。我需要将日期格式化为 ISO 8601 格式,以便 SharePoint 将其排除在外。所以我真正需要的是我在这里找到的东西:

function convertThisDate(thisDate){
  var myDate;
  if (thisDate!= null)  {
     myDate = thisDate;
  }
  else  {
     myDate = new Date();
  }
  var stringDate = "";
  stringDate  += thisDate.getYear() + "-";
  stringDate  += thisDate.getMonth() + 1 + "-";
  stringDate  += thisDate.getDate();
  stringDate  += "T" + thisDate.getHours() + ":";
  stringDate  += thisDate.getMinutes() + ":";
  stringDate += thisDate.getSeconds() + "Z";
  return stringDate;
}

像上面这样简单的东西完美无缺,因为 SharePoint 似乎对日期非常挑剔。

于 2013-01-14T13:51:26.923 回答