@akin9 

you can use Display business rule on incident table and check this

(function executeRule(current, previous /*null when async*/) {

	// Add your code here
	var nowTime = new GlideDateTime();
	var postpone = new GlideDateTime(current.u_postpone_schedule);

	if(nowTime.getNumericValue() == postpone.getNumericValue())
		g_scratchpad.isDateReached = 'true';
	else
		g_scratchpad.isDateReached = 'false';

})(current, previous);

onLoad client script

function onLoad(){

	if(g_scratchpad.isDateReached == 'true')
		g_form.setValue('state', 2);

}

If my response helped please mark it correct and close the thread so that it benefits future readers.

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