2

StateChangedDateとLastUpdateDateでポートフォリオアイテムをフィルタリングしようとしましたが、失敗したようです。

{
    property: 'StateChangedDate',
    operator: '>',
    value: (new Date() - 518400000)
}

また、ポートフォリオアイテムから取得したものと同じ形式で表示して、比較の結果がミリ秒単位の時間の値にならないようにしました。

var d = new Date(new Date() - 518400000);

{
    property: 'StateChangedDate',
    operator: '>',
    value: d
}

ただし、どちらも機能せず、フィルターを通過する必要のあるアイテムがあることを絶対に確信しているにもかかわらず、ポートフォリオアイテムが返されないことになります。

編集:Rallyがそれらを保存するために使用するのと同じフォーマットを使用する必要があるようです..(つまり、YYYY-MM-DDThh:mm:ss.nnnZ)この方法で日付をフォーマットする簡単な方法はありますか?それとも、解析して連結する必要がありますか?

4

3 に答える 3

1

Rally.util.DateTime.toIsoString関数を使用して日付オブジェクトをフォーマットできるはずです。このコードスニペットは、あなたがやろうとしていることを実行すると思います。

var d = Ext.Date.add(new Date(), Ext.Date.DAY, -6);

{
    property: 'StateChangedDate',
    operator: '>',
    value: Rally.util.DateTime.toIsoString(d)
}
于 2012-08-07T19:47:36.407 に答える
0

ありがとう、マット。ISO 8601形式でなければならないことに気付くまで変換を調べなかったので、その機能を見落としていたと思います。別の方法として、Mozilla Developer Networkからサンプル関数を取得しました。これは正常に機能します:http://mzl.la/O0tVVb

ただし、簡単にするために、先に進んでRallyの製品を使用すると思います。

于 2012-08-07T20:21:27.817 に答える
0

私は少し前にこれをしなければなりませんでした。それが入っているフォーマットはIE8では機能しないので面倒です(そうでなければ、new Date(yourDate);のようなことをすることができます)。

したがって、新しいDateオブジェクトを作成し、文字列の解析を行うだけです...

    a = //your date from Rally here
    b = a.split('T');
    a = b[0];
    c = b[1];
    a = a.split('-');

    year = a[0];
    month = a[1];
    day = a[2];

    b = c.split('.');
    ms = b[1].replace("Z", '');
    b = b[0].split(':');

    hour = b[0];
    min = b[1];
    sec = b[2];

    tmpDate = new Date();
    tmpDate.setUTCFullYear(year, month - 1, day);
    tmpDate.setUTCHours(hour, min, sec, ms);
于 2012-08-13T22:53:34.280 に答える