Hi Experts,
Need your help in the following issue:
Here is a validation for a Date and Time(captured in text) field along with the Timezone as shown below.
/*Code -- Test_Rule_Timezone*/ /*We are getting Date and Time and the Timzezone selected by the user from the dropdown*/ /*Based on the Timezone selection(cons!CDM2_VAL_STANDARD_TIMEZONE) we are subtracting the hours that is stored in the constant(cons!TEST_CONS_TIMEZONE) from the date and time selected by the user*/ a!localVariables( local!hours: a!match( value: ri!timezone, equals: cons!CDM2_VAL_STANDARD_TIMEZONE[1], then: cons!TEST_CONS_TIMEZONE[1], equals: cons!CDM2_VAL_STANDARD_TIMEZONE[2], then: cons!TEST_CONS_TIMEZONE[2], equals: cons!CDM2_VAL_STANDARD_TIMEZONE[3], then: cons!TEST_CONS_TIMEZONE[3], equals: cons!CDM2_VAL_STANDARD_TIMEZONE[4], then: cons!TEST_CONS_TIMEZONE[4], equals: cons!CDM2_VAL_STANDARD_TIMEZONE[5], then: cons!TEST_CONS_TIMEZONE[5], equals: cons!CDM2_VAL_STANDARD_TIMEZONE[6], then: cons!TEST_CONS_TIMEZONE[6], equals: cons!CDM2_VAL_DAYLIGHT_TIMEZONE_DISPLAY[1], then: cons!TEST_CONS_TIMEZONE[8], equals: cons!CDM2_VAL_DAYLIGHT_TIMEZONE_DISPLAY[2], then: cons!TEST_CONS_TIMEZONE[9], equals: cons!CDM2_VAL_DAYLIGHT_TIMEZONE_DISPLAY[3], then: cons!TEST_CONS_TIMEZONE[10], equals: cons!CDM2_VAL_DAYLIGHT_TIMEZONE_DISPLAY[4], then: cons!TEST_CONS_TIMEZONE[11], equals: cons!CDM2_VAL_DAYLIGHT_TIMEZONE_DISPLAY[5], then: cons!TEST_CONS_TIMEZONE[12], equals: cons!CDM2_VAL_DAYLIGHT_TIMEZONE_DISPLAY[6], then: cons!TEST_CONS_TIMEZONE[13], default: 0 ), local!minutes: tointeger(index(split(local!hours,":"),2,0)), if( a!isNullOrEmpty(ri!dateTime), null(), a!subtractDateTime(ri!dateTime,0,0,0,local!hours,local!minutes) ) )
I need to validate that the Search Start Date + Search Start Time + Timezone -----should be less than the current system timezone,
Search End Date + Search End Time + Timezone -----should be less than the current system timezone.
Also Search Start Date + Search Start Time + Timezone(UTC) < Search End Date + Search End Time + Timezone(like UTC-7).
I am attaching the code for the same, need your help as I am not able to get the desired output.
Thank you in advance for your help!
Discussion posts and replies are publicly visible
MaryamLNU I would suggest you to convert date and time text to datetime type using below expression.a!localVariables( local!dateAndTime: split("2024-03-30 07:21:55", " "), local!date: split(local!dateAndTime[1], "-"), local!time: split(local!dateAndTime[2], ":"), datetime( local!date[1], local!date[2], local!date[3], local!time[1], local!time[2], local!time[3] ))Then output for this you can convert to user time zone and compare.
Thank you for the help Shubham Aware , I convert date and time text to datetime type but still I am unable to achieve the desired output.
I need to validate that the Search Start Date Time + Timezone -----should be less than the current system timezone,
Search End Date Time + Timezone -----should be less than the current system timezone.
Also Search Start Date Time + Timezone selected < Search End Date Time + Timezone selected
Could you please help me verify my code:
if( and( a!isNotNullOrEmpty(fv!item.startSearchDateTime), a!isNotNullOrEmpty(fv!item.timeZone) a!isNotNullOrEmpty(fv!item.endTimeZone), a!isNotNullOrEmpty(fv!item.endSearchDateTime), ), { if( gmt( fv!item.startSearchDateTime, fv!item.timeZone ) > gmt(now()), "Please select a Date Time on or before current Date Time.", {} ), if( gmt( fv!item.startSearchDateTime, fv!item.timeZone ) > gmt( fv!item.endSearchDateTime, fv!item.endTimeZone ), "'Search Start Date Time' can not be after 'Search End Date Time'", {} ) }, {} )