👋 Next.js Conf 2024: Come build, party, run, and connect with us! See all events

Datetime

The schema type for expressing an exact date and time.

An ISO-8601 formatted string containing date and time stored in UTC. E.g.  2017-02-12T09:15:00Z.

Properties

  • REQUIREDtypestring

    Value must be set to datetime.

  • REQUIREDnamestring

    Required. The field name. This will be the key in the data record.

  • titlestring

    Human readable label for the field.

  • hiddenboolean | function

    If set to true, this field will be hidden in the studio. You can also return a callback function to use it as a conditional field.

  • readOnlyboolean | function

    If set to true, this field will not be editable in the content studio. You can also return a callback function to use it as a conditional field.

  • descriptionstring

    Short description to editors how the field is to be used.

  • initialValueDateTimeStringOrResolverFunction

    The initial value used when creating new values from this type. Can be either a literal datetime string or a resolver function that returns either a literal datetime string value or a promise resolving to a datetime string value.

  • componentsobject

    Lets you provide custom components to override the studio defaults in various contexts. The components available are field, input, item, preview.

  • deprecated{ reason: String }

    Marks a field or document type as deprecated in the studio interface and displays a user-defined message defined by the single required reason property.

    If you deploy a GraphQL API schema, this property will translated into the @deprecated directive.

Options

  • dateFormatstring

    Controls how the date input field formats the displayed date. Use any valid Moment format option. Default is YYYY-MM-DD.

  • timeFormatstring

    Controls how the time input field formats the displayed date. Use any valid Moment format option. Default is HH:mm.

  • timeStepnumber

    Number of minutes between each entry in the time input. Default is 15 which lets the user choose between 09:00, 09:15, 09:30 and so on.

Validation

Learn more about validation
  • required()function

    Ensures that this field exists.

  • min(minDate)function

    Minimum date (inclusive). minDate should be in ISO 8601 format.

  • max(maxDate)function

    Maximum date (inclusive). maxDate should be in ISO 8601 format.

  • custom(fn)function

    Creates a custom validation rule.

The date+time is represented as a string in a simplified extended ISO format (ISO 8601). This is the same format as date.toISOString() and date.toJSON() returns.

Input

{
  title: 'Launch Scheduled At',
  name: 'launchAt',
  type: 'datetime'
}

Output

{
  "launchAt": "2017-02-12T09:15:00Z"
}

Example: All options set

{
  title: 'Launch Scheduled At',
  name: 'launchAt',
  type: 'datetime',
  options: {
    dateFormat: 'YYYY-MM-DD',
    timeFormat: 'HH:mm',
    timeStep: 15,
    calendarTodayLabel: 'Today'
  }
}

Was this article helpful?