Datetime
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
.titlestring
Human readable label for the field.
REQUIREDnamestring
Required. The field name. This will be the key in the data record.
boolean | 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.
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 validationrequired()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.
Protip
If you need to store information about the timezone of the user that edited a certain datetime
field, you may want to take a look at the @sanity/rich-date-input
which provides a richDate
type that stores a richer set of data.
Input
{
title: 'Launch Scheduled At',
name: 'launchAt',
type: 'datetime'
}
Output
{
"launchAt": "2017-02-12T09:15:00Z"
}
{
title: 'Launch Scheduled At',
name: 'launchAt',
type: 'datetime',
options: {
dateFormat: 'YYYY-MM-DD',
timeFormat: 'HH:mm',
timeStep: 15,
calendarTodayLabel: 'Today'
}
}