JSLink JavaScriptで日付列値をキャストする方法、およびこの日付変数を増やす方法は?

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/92109

質問

SharePoint 2013をオンラインで使用しています。カスタムリストを作成しました。このリストで、jSlinkを使用して列にアイコンを表示しました。赤や緑色のアイコンを表示するためのロジックをやりたいです。私は今JS 2の日付にあります。現在のアイテムからの私の列からの日付と今日の日付。次のチェックをしたいのですが:

var contractEndDate = ctx.CurrentItem.Contract_x0020_einddatum;

    var today = new Date();


    if((contractEndDate + 10 days) > today)
    {
        return "<img src='https://myCompany.sharepoint.com/sites/teams/Sales/SiteAssets/green.png'/>";
    }
    else
    {
        return "<img src='https://myCompany.sharepoint.com/sites/teams/Sales/SiteAssets/red.png'/>";
    }
.

どのようにしてvar contractenddateを日付にキャストできますか?そして私は10日でそれを増やすことができますか?

役に立ちましたか?

解決

この場合は、契約委員の形式が何であるかが試してみてください。

var contractEndDate = new Date(ctx.CurrentItem.Contract_x0020_einddatum);
var compareDate = contractEndDate.getDate() + 10
var today = new Date();

if(compareDate > today)
{
    return "<img src='https://myCompany.sharepoint.com/sites/teams/Sales/SiteAssets/green.png'/>";
}
else
{
    return "<img src='https://myCompany.sharepoint.com/sites/teams/Sales/SiteAssets/red.png'/>";
}
.

new Date(ctx.CurrentItem.Contract_x0020_einddatum)がエラーをスローする危険性があります...この場合、このようなサポート方法を使用する必要があります。

function convertSPDate(d) {
/*
*   A function to convert a standard SharePoint
*   date/time field (YYYY-MM-DD HH:MM:SS) to a
*   javascript Date() object
*
*   Author: Ben Tedder (www.bentedder.com)
*/
    // split apart the date and time
    var xDate = d.split(" ")[0];
    var xTime = d.split(" ")[1];

    // split apart the hour, minute, & second
    var xTimeParts = xTime.split(":");
    var xHour = xTimeParts[0];
    var xMin = xTimeParts[1];
    var xSec = xTimeParts[2];

    // split apart the year, month, & day
    var xDateParts = xDate.split("-");
    var xYear = xDateParts[0];
    var xMonth = xDateParts[1];
    var xDay = xDateParts[2];

    var dDate = new Date(xYear, xMonth - 1, xDay, xHour, xMin, xSec);
    return dDate;
}
.

見つかりましたこちらが少し変更された(月はJavaScript Date())で月がゼロになりますので

他のヒント

contractEndDateは、 datetimeフィールドタイプ

var today = new Date();
var contractExpiredDate = new Date(contractEndDate); // create Date object from date string
contractExpiredDate.setDate(contractEndDate.getDate() + 10);

if (contractExpiredDate > today) {
   //The remaining code is committed for clarity 
}
.

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top