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

 

 

 

1 REPLY 1

Kieran Anson
Kilo Patron

Hi, Replace the following line with 

var dt = new Date(selected_date + 'T00:00:00Z'); // Clearly designated as UTC time

 

var dt = new Date( getDateFromFormat(selected_date, g_user_date_format) ); // Clearly designated as UTC time