how to convert date/time into date or viceversa

Sengeni
Tera Contributor

Hi,

The process actual start date is in the 'date' type and request created on is in 'date/time' type.if i write script it doesnt show the output.I want a code whether it can convert into date type or date/time type.

The code is

var gr = new GlideRecord('x_snc_aob_test1_overall_request_status_task1');
gr.addQuery('task_name.task_name', 'BGV');
gr.addQuery('task_req_status', 'NOT IN', 'Completed,Yet to start');
gr.addQuery('request_id.overall_task_status', 'Pending');
gr.query();
while (gr.next()) {
var BGV = new GlideRecord('x_snc_aob_test1_bgv_status_details');
BGV.addEncodedQuery("request_created_on>javascript:gs.beginningOfLast60Days()");
BGV.addQuery('associate_id', gr.request_id.cog_associate_id);
BGV.addQuery('project', gr.request_id.project.code);
BGV.addQuery('account', gr.request_id.account.code);
BGV.addQuery('bgv_onboarding_status', 'NOT IN', 'Not considered in AOB');
BGV.query();

while (BGV.next()) {
if ((BGV.request_created_on != "")&&(gr.process_actual_start_date==" ")) {
gr.setValue("process_actual_start_date", BGV.request_created_on);
}
}

}

Please help me to get output

1 ACCEPTED SOLUTION

Ankur Bawiskar
Tera Patron
Tera Patron

@Sengeni 

update as this

Seems there are more corrections

1) use if condition

2) use update method

var gr = new GlideRecord('x_snc_aob_test1_overall_request_status_task1');
gr.addQuery('task_name.task_name', 'BGV');
gr.addQuery('task_req_status', 'NOT IN', 'Completed,Yet to start');
gr.addQuery('request_id.overall_task_status', 'Pending');
gr.query();
while (gr.next()) {
    var BGV = new GlideRecord('x_snc_aob_test1_bgv_status_details');
    BGV.addEncodedQuery("request_created_on>javascript:gs.beginningOfLast60Days()");
    BGV.addQuery('associate_id', gr.request_id.cog_associate_id);
    BGV.addQuery('project', gr.request_id.project.code);
    BGV.addQuery('account', gr.request_id.account.code);
    BGV.addQuery('bgv_onboarding_status', 'NOT IN', 'Not considered in AOB');
    BGV.query();

    if(BGV.next()) {
        if ((BGV.request_created_on != "") && (gr.process_actual_start_date==" ")) {
            gr.setValue("process_actual_start_date", new GlideDateTime(BGV.request_created_on).getDate());
            gr.update();
        }
    }

}

Regards
ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

View solution in original post

2 REPLIES 2

sonali panda1
Kilo Sage

You can convert datetime to date by using -

var gdt = new GlideDateTime();

gdt.getDate();

This should convert it to date.

Ankur Bawiskar
Tera Patron
Tera Patron

@Sengeni 

update as this

Seems there are more corrections

1) use if condition

2) use update method

var gr = new GlideRecord('x_snc_aob_test1_overall_request_status_task1');
gr.addQuery('task_name.task_name', 'BGV');
gr.addQuery('task_req_status', 'NOT IN', 'Completed,Yet to start');
gr.addQuery('request_id.overall_task_status', 'Pending');
gr.query();
while (gr.next()) {
    var BGV = new GlideRecord('x_snc_aob_test1_bgv_status_details');
    BGV.addEncodedQuery("request_created_on>javascript:gs.beginningOfLast60Days()");
    BGV.addQuery('associate_id', gr.request_id.cog_associate_id);
    BGV.addQuery('project', gr.request_id.project.code);
    BGV.addQuery('account', gr.request_id.account.code);
    BGV.addQuery('bgv_onboarding_status', 'NOT IN', 'Not considered in AOB');
    BGV.query();

    if(BGV.next()) {
        if ((BGV.request_created_on != "") && (gr.process_actual_start_date==" ")) {
            gr.setValue("process_actual_start_date", new GlideDateTime(BGV.request_created_on).getDate());
            gr.update();
        }
    }

}

Regards
ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader