How to getHours

chanikya
Kilo Sage

Hi,

some one please suggest me how to get Hours only from  new GlideDateTime()).getLocalTime().

all client  systems are running in PST zone.

1 ACCEPTED SOLUTION

Edited the script

 

if (gdt.getDayOfWeekUTC() == 2) //Tuesday 2 7AM PST (-7)
{

	if (gdtH.getHourOfDayUTC() == 14) {//GMT
		email.setSubject("Gentle Reminder for TimeCard Approval of the week starts on " + par1.lastWeek);
		email.addAddress("cc", par1.manager_email, par1.manager_name);
		template.print('Hi ' + par1.user + ',</br></br>This is a gentle reminder, that the Timecards in Submitted State are overdue, for the week starts on, "' + par1.lastWeek + '" in the system. Kindly Approve or Reject the timecards last by 3PM PST. </br></br>');
		template.print('<br/>');
	}
}
if (gdt.getDayOfWeekUTC() == 3) //Wednesday 3 1AM = tuesday 2 6PM PST (-7)
{
	if (gdtH.getHourOfDayUTC() == 1) { //GMT
		email.setSubject("Final Reminder for TimeCard Approval of the week starts on " + par1.lastWeek);
		email.addAddress("cc", par1.manager_email, par1.manager_name);
		template.print('Hi ' + par1.user + ',</br></br>This is a final reminder, that timecard approval for the below Employees are overdue for the week starts on, "' + par1.lastWeek + '" in the system and needs immediate approval. </br></br>');
		template.print('<br/>');
	}
}

View solution in original post

40 REPLIES 40

this should clear your all doubts


var gdt = new GlideDateTime();
gs.info(gdt);                    //UTC
gs.info(gdt.getDisplayValue());  //local instance time
gt = gdt.getTime();
gs.info(gt.getHourLocalTime());   // The hours using the local time zone. The number of hours is based on a 12 hour clock. Noon and midnight are represented by 0, not 12.
gs.info(gt.getHourOfDayLocalTime()); //The hours using the local time zone. The number of hours is based on a 24 hour clock.
gs.info(gt.getHourOfDayUTC());      //The hours using the UTC time zone. The number of hours is based

Thanks You !. 

 

Kindly help me 

Local time means : user location time ( users might be from various places right , will it take location time ? )   or instance time ?   or   User profile Timezone time

 

 

var gdt = new GlideDateTime();
var gt = gdt.getTime();
gs.info("DayOf Test:" + gt.getHourOfDayLocalTime()+"-----"+gt);

Output : DayOf Test:13-----1970-01-01 21:06:47

it will be instance time which will be  User profile Timezone time

 

var gdt = new GlideDateTime();
var gt = gdt.getTime();
gs.info("DayOf Test:" + gt.getHourOfDayLocalTime()+"-----"+gt.getDisplayValue());

 

Output : DayOf Test:13-----13:14:23

 

under system properties , we didn't mentioned any timeZone.

find_real_file.png

 

my profile TimeZone is  "IST " -india

i just confused here, which timezone it is considering here.

 

My requirement is : as per PST 7AM need to trigger one condition , 18PM need to trigger another if-condition as per PST only

if (gdt.getDayOfWeekLocalTime() == 2) //Tuesday 2 7AM PST , 18 PM PST
{

if (gdtH.getHourOfDayLocalTime() == 7) {
email.setSubject("Gentle Reminder for TimeCard Approval of the week starts on " + par1.lastWeek);
email.addAddress("cc", par1.manager_email, par1.manager_name);
template.print('Hi ' + par1.user + ',</br></br>This is a gentle reminder, that the Timecards in Submitted State are overdue, for the week starts on, "' + par1.lastWeek + '" in the system. Kindly Approve or Reject the timecards last by 3PM PST. </br></br>');
template.print('<br/>');
}

if (gdtH.getHourOfDayLocalTime() == 18) {
email.setSubject("Final Reminder for TimeCard Approval of the week starts on " + par1.lastWeek);
email.addAddress("cc", par1.manager_email, par1.manager_name);
template.print('Hi ' + par1.user + ',</br></br>This is a final reminder, that timecard approval for the below Employees are overdue for the week starts on, "' + par1.lastWeek + '" in the system and needs immediate approval. </br></br>');
template.print('<br/>');
}

}

if your profile timezone is IST, then the local timetime will be IST

 

by default, local timezone is PST