Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

How to display the correct time format based on the modified time type when I modify profile date?

shiz
Tera Contributor

When I modify the time type of my personal settings:

shiz_0-1765270203550.png

 

Then I wrote a client script with the following code:

 

shiz_1-1765270310562.png

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
   
    //alert("change");
    if (isLoading || newValue === '') {
        return;
    }

    //Type appropriate comment here, and begin script below
    var selected_date = g_form.getValue('u_week_starts_on');
    if (selected_date === '') {
        return;
    }
    changeFieldLabel(selected_date);
}

function changeFieldLabel(selected_date) {
    try {
        //label.u_actual_times.u_monday
        var dt = new Date(selected_date + 'T00:00:00Z'); // Clearly designated as UTC time
        var dpt = new Date(dt); // Copy date object
        var dtOfWeek = dt.getUTCDay();
        if(dtOfWeek == 0){
            dpt.setUTCDate(dt.getUTCDate() - 6);
        }
        if(dtOfWeek == 6){
            dpt.setUTCDate(dt.getUTCDate() - 5);
        }
        if(dtOfWeek == 5){
            dpt.setUTCDate(dt.getUTCDate() - 4);
        }
        if(dtOfWeek == 4){
            dpt.setUTCDate(dt.getUTCDate() - 3);
        }
        if(dtOfWeek == 3){
            dpt.setUTCDate(dt.getUTCDate() - 2);
        }
        if(dtOfWeek == 2){
            dpt.setUTCDate(dt.getUTCDate() - 1);
        }
        if(dtOfWeek == 1){
            dpt.setUTCDate(dt.getUTCDate() - 0);
        }

        var labelElementMonday = $('label.u_actual_times.u_monday');
        //var dptMonday  = new Date(dpt);

        var aa = document.getElementById('tabs2_section');
        var bb = aa.querySelectorAll('span.tab_caption_text');

        labelElementMonday.select('label').each(function(elmt) {
            var monthStr = toDou(dpt.getUTCMonth() + 1);
            var dayStr = toDou(dpt.getUTCDate());
            elmt.innerHTML = getMessage('monday')+' (' + monthStr + '/' + dayStr + ')';
            //elmt.innerHTML = 'Monday (' + dptMonday.getMonth() + '/' + dptMonday + ')';
           
            var tableMonday = document.getElementsByName('u_monday');
            if(tableMonday.length > 0){
                tableMonday[0].select('a')[0].innerText = getMessage('monday')+' (' + monthStr + '/' + dayStr + ')';
            }
        });

        for(const span of bb) {
            if(span.textContent.includes(getMessage('monday'))){
                dpt.setDate(dpt.getUTCDate());
                var monthStr1 = dpt.getUTCMonth() + 1;
                var dayStr1 = dpt.getUTCDate();
               
                span.textContent = getMessage('monday')+' (' + monthStr1 + '/' + dayStr1 + ')';
            }
        }

        dpt.setDate(dpt.getUTCDate() + 1);
        var labelElementTuesday = $('label.u_actual_times.u_tuesday');
        labelElementTuesday.select('label').each(function(elmt) {
            var monthStr = toDou(dpt.getUTCMonth() + 1);
            var dayStr = toDou(dpt.getUTCDate());
            elmt.innerHTML = getMessage('tuesday')+' (' + monthStr + '/' + dayStr + ')';
           
            var tableHeaderCell = document.getElementsByName('u_tuesday');
            if(tableHeaderCell.length > 0){
                tableHeaderCell[0].select('a')[0].innerText = getMessage('tuesday')+' (' + monthStr + '/' + dayStr + ')';
            }
        });

        for(const span of bb) {
            if(span.textContent.includes(getMessage('tuesday'))){
                dpt.setDate(dpt.getUTCDate());
                var monthStr1 = dpt.getUTCMonth() + 1;
                var dayStr1 = dpt.getUTCDate();
               
                span.textContent = getMessage('tuesday')+' (' + monthStr1 + '/' + dayStr1 + ')';
            }
        }

        dpt.setDate(dpt.getUTCDate() + 1);
        var labelElementwednesday = $('label.u_actual_times.u_wednesday');
        labelElementwednesday.select('label').each(function(elmt) {
            var monthStr = toDou(dpt.getUTCMonth() + 1);
            var dayStr = toDou(dpt.getUTCDate());
            elmt.innerHTML = getMessage('wednesday')+' (' + monthStr + '/' + dayStr + ')';
           
            var tableHeaderCell = document.getElementsByName('u_wednesday');
            if(tableHeaderCell.length > 0){
                tableHeaderCell[0].select('a')[0].innerText = getMessage('wednesday')+' (' + monthStr + '/' + dayStr + ')';
            }
        });

        for(const span of bb) {
            if(span.textContent.includes(getMessage('wednesday'))){
                dpt.setDate(dpt.getUTCDate());
                var monthStr1 = dpt.getUTCMonth() + 1;
                var dayStr1 = dpt.getUTCDate();
               
                span.textContent = getMessage('wednesday')+' (' + monthStr1 + '/' + dayStr1 + ')';
            }
        }

        dpt.setDate(dpt.getUTCDate() + 1);
        var labelElementthursday = $('label.u_actual_times.u_thursday');
        labelElementthursday.select('label').each(function(elmt) {
            var monthStr = toDou(dpt.getUTCMonth() + 1);
            var dayStr = toDou(dpt.getUTCDate());
            elmt.innerHTML = getMessage('thursday')+' (' + monthStr + '/' + dayStr + ')';
           
            var tableHeaderCell = document.getElementsByName('u_thursday');
            if(tableHeaderCell.length > 0){
                tableHeaderCell[0].select('a')[0].innerText = getMessage('thursday')+' (' + monthStr + '/' + dayStr + ')';
            }
        });

        for(const span of bb) {
            if(span.textContent.includes(getMessage('thursday'))){
                dpt.setDate(dpt.getUTCDate());
                var monthStr1 = dpt.getUTCMonth() + 1;
                var dayStr1 = dpt.getUTCDate();
               
                span.textContent = getMessage('thursday')+' (' + monthStr1 + '/' + dayStr1 + ')';
            }
        }

        dpt.setDate(dpt.getUTCDate() + 1);
        var labelElementfriday = $('label.u_actual_times.u_friday');
        labelElementfriday.select('label').each(function(elmt) {
            var monthStr = toDou(dpt.getUTCMonth() + 1);
            var dayStr = toDou(dpt.getUTCDate());
            elmt.innerHTML = getMessage('friday')+' (' + monthStr + '/' + dayStr + ')';
           
            var tableHeaderCell = document.getElementsByName('u_friday');
            if(tableHeaderCell.length > 0){
                tableHeaderCell[0].select('a')[0].innerText = getMessage('friday')+' (' + monthStr + '/' + dayStr + ')';
            }
        });

        for(const span of bb) {
            if(span.textContent.includes(getMessage('friday'))){
                dpt.setDate(dpt.getUTCDate());
                var monthStr1 = dpt.getUTCMonth() + 1;
                var dayStr1 = dpt.getUTCDate();
               
                span.textContent = getMessage('friday')+' (' + monthStr1 + '/' + dayStr1 + ')';
            }
        }

        dpt.setDate(dpt.getUTCDate() + 1);
        var labelElementsaturday = $('label.u_actual_times.u_saturday');
        labelElementsaturday.select('label').each(function(elmt) {
            var monthStr = toDou(dpt.getUTCMonth() + 1);
            var dayStr = toDou(dpt.getUTCDate());
            elmt.innerHTML = getMessage('saturday')+' (' + monthStr + '/' + dayStr + ')';
           
            var tableHeaderCell = document.getElementsByName('u_saturday');
            if(tableHeaderCell.length > 0){
                tableHeaderCell[0].select('a')[0].innerText = getMessage('saturday')+' (' + monthStr + '/' + dayStr + ')';
            }
        });

        for(const span of bb) {
            if(span.textContent.includes(getMessage('saturday'))){
                dpt.setDate(dpt.getUTCDate());
                var monthStr1 = dpt.getUTCMonth() + 1;
                var dayStr1 = dpt.getUTCDate();
               
                span.textContent = getMessage('saturday')+' (' + monthStr1 + '/' + dayStr1 + ')';
            }
        }

        dpt.setDate(dpt.getUTCDate() + 1);
        var labelElementsunday = $('label.u_actual_times.u_sunday');
        labelElementsunday.select('label').each(function(elmt) {
            var monthStr = toDou(dpt.getUTCMonth() + 1);
            var dayStr = toDou(dpt.getUTCDate());
            elmt.innerHTML = getMessage('sunday')+' (' + monthStr + '/' + dayStr + ')';
            //elmt.innerHTML = 'Sunday (' + dpt + ')';
           
            var tableHeaderCell = document.getElementsByName('u_sunday');
            if(tableHeaderCell.length > 0){
                tableHeaderCell[0].select('a')[0].innerText = getMessage('sunday')+' (' + monthStr + '/' + dayStr + ')';
            }
        });

        for(const span of bb) {
            if(span.textContent.includes(getMessage('sunday'))){
                dpt.setDate(dpt.getUTCDate());
                var monthStr1 = dpt.getUTCMonth() + 1;
                var dayStr1 = dpt.getUTCDate();
               
                span.textContent = getMessage('sunday')+' (' + monthStr1 + '/' + dayStr1 + ')';
            }
        }      
    } catch (e) {}
}

function toDou(n){
    if(n<10){
        return "0"+n;
    }
    else {
        return n;
    }
}
When I modify the value of week start on, the value on the tab shows NAN. How should I solve this problem?
 
shiz_2-1765270411048.png

modify the value of week start on after:

 

shiz_3-1765270465572.png

 

 

 

0 REPLIES 0