كيفية إرسال قيمة عمود التاريخ في جافا سكريبت جسلينك, وكيفية زيادة متغير التاريخ هذا?

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

سؤال

أنا باستخدام شاريبوانت 2013 على الانترنت.لقد أنشأت قائمة مخصصة.في هذه القائمة لقد استخدمت جسلينك لإظهار رمز في عمود.أود أن أفعل بعض المنطق لإظهار رمز أحمر أو أخضر.لدي الآن في شبيبة 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'/>";
    }

كيف يمكنني إرسال تاريخ العقد فار إلى تاريخ?وكيف يمكنني زيادة ذلك مع 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;
}

وجدت هنا ولكن تعديل طفيف (منذ الشهر هو زيروباسد في تاريخ جافا سكريبت ())

نصائح أخرى

بافتراض contractEndDate هو نوع حقل التاريخ والوقت:

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