Initialize Date Field

Initialize Date and Date-Time fields


In this example, the rule run on the load of a step and initializes both a date only field and a date+time field to the present date/time.

Rule Logic

The below logic gets the current date and builds date and date-time values appropriate to initialize the fields. The fields are only initialized if they do not already have a value set.

// Initialize a date and date/time to today and now respectively

// get today's date
const now = new Date();
const today = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, '0')}-${now.getDate().toString().padStart(2, '0')}`;

const nowInUtc = `${now.getUTCFullYear()}-${(now.getUTCMonth() + 1).toString().padStart(2, '0')}-${now.getUTCDate().toString().padStart(2, '0')}` + 
`T${now.getUTCHours().toString().padStart(2, '0')}:${now.getUTCMinutes().toString().padStart(2, '0')}:${now.getUTCSeconds().toString().padStart(2, '0')}Z`;

// only initialize the response date if not already set
if (!ResponseDate.value)
  ResponseDate.value = today;

// only initialize the event date and time if not already set - set it in UTC
if (!EventDateTime.value)
  EventDateTime.value = nowInUtc;

Last updated