Date and time handling in workflow scripts, form scripts and API

Date and time handling has been improved (ISO 8601) in workflow scripts (client and server) and form scripts.

The new date and time feature is automatically enabled for all applications created after 22.11.2025, but is not automatically enabled for applications created before 22.11.2025 due to backward compatibility.

However, it can be manually enabled/disabled in the app settings in the developer section by checking the "UTC date and time format (ISO 8601)" checkbox.

New date-time behavior:

  • The time zone of the date-time values on the edit form is handled correctly (javascript Date object with the correct UTC value - e.g., toISOString() returns "2025-12-31T23:59:59Z")
     
  • The date-time values on the edit form has UTC zero time (javascript Date object with the UTC zero time value - e.g., toISOString() returns "2025-12-31T00:00:00Z")
     
  • The date-time values of the server workflow are specified in a string in ISO format (e.g., "2025-12-31T23:59:59Z" - may contain milliseconds)
     
  • The date-only values of the server workflow are specified in a string in date-only format (e.g., "2025-12-31")
     
  • API returns data-time values in ISO format (e.g., "2025-12-31T23:59:59Z")
     
  • API returns data-only values in date-only format (e.g., "2025-12-31")
     
  • Posting date-time to the API:
    • The primary expected date-only format is YYYY-MM-DDTHH:mm:ss[.fff]Z (e.g., "2025-12-31T23:59:59Z" - may contain milliseconds)
    • All allowed formats: YYYY-MM-DD, YYYY-MM-DDZ, YYYY-MM-DDTHH:mm:ss[.fff], YYYY-MM-DDTHH:mm:ss[.fff]Z
    • You can send either the date-only, local time, or UTC time
    • The date-only value is used with default zero-time part
    • Example: date-only "2025-12-31" is considered as a local time "2025-12-31T00:00:00", date-only "2025-12-31Z" is considered as a UTC time "2025-12-31T00:00:00Z"
    • The UTC date-time is used without any conversion
    • Example: "2025-12-31T23:30:00Z" is used without any conversion
    • The local date-time is converted to UTC time according to the application's time zone
    • Example: "2026-01-01T00:30:00" is converted to UTC time according to the application's time zone, e.g. +01:00 -> "2025-12-31T23:30:00Z"
       
  • Posting date-only to the API:
    • The primary expected date-only format is YYYY-MM-DD (e.g., "2025-12-31")
    • All allowed formats: YYYY-MM-DD, YYYY-MM-DDZ, YYYY-MM-DDTHH:mm:ss[.fff], YYYY-MM-DDTHH:mm:ss[.fff]Z
    • You can send either the date-only, local time, or UTC time
    • The date-only value is used without any conversion
    • Example: both "2025-12-31" and "2025-12-31Z" is used without any conversion as "2025-12-31"
    • The UTC date-time is converted to local time according to the application's time zone, then the date part is extracted
    • Example: "2025-12-31T23:30:00Z" is converted to local time according to the application's time zone, e.g. +01:00 -> "2026-01-01 00:30:00" -> the date-only part is "2026-01-01", not "2025-12-31"
    • The local date-time is used without any conversion, then the date part is extracted
    • Example: "2025-12-31T23:30:00" is considered to be the local time "2025-12-31 23:30:00" in the application's time zone (any)  -> the date-only part is "2025-12-31"
    • For backward compatibility, dates sent in the format "YYYY-MM-DDT00:00:00Z" (UTC zero time) to a date-only field is NOT converted to local time according to the application's time zone before extracting the date part -> "2025-12-31T00:00:00Z" is exactly the same as "2025-12-31"

            
 

Was this article helpful?