2

SPServices を使用して SP 2010 リスト (日付フィールド) に追加するために、要素から文字列化された日付値を取得し、それを js var に変換しようとしています。

date.js リソースを見つけましたが、それを適切に使用する方法がわかりません。日付を操作するために私が行うことはすべて、日付を文字列に変更します... .format()何でも。

SPServices を通過して以下のようにリストを更新するには、何らかの方法で値を 2013-01-01T19:20:15 に変更する必要があると思います。

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 を試してみましたが、戻り値が好きではありませんが、戻り値を文字列にせずに変更する方法がわかりませんか?

いつものように助けてくれてありがとう。

EDIT:より明確にする....私は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 に渡そうとしていますか? これは理にかなっていると思うアプローチの 1 つですが、ここで何か間違ったことをしているに違いありませんか? 私が警告した場合、これは私が信じている必要なものとは異なる形式を使用しています。しかし、再び上記のように、フォーマットするために私が行うこと(または試してみるために私が見つけることができるもの)は、それを文字列に変更するようで(私は仮定しています)、機能しません。ヘルプは常に大歓迎です! 大いに!

4

1 に答える 1

1

これを理解しましたが、元の質問ではコンテンツが不足していると思います。それを除外するには、SharePoint の ISO 8601 形式にフォーマットされた日付を取得する必要がありました。だから私が本当に必要としていたのは、ここで見つけたものだけでした:

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 に答える