Class DateTimePicker
Stay organized with collections
Save and categorize content based on your preferences.
DateTimePicker
An input field that allows users to input a date and time.
Supports form submission validation. When Action.setAllWidgetsAreRequired(allWidgetsAreRequired)
is set to
true
or this widget is specified through Action.addRequiredWidget(requiredWidget)
, the submission
action is blocked unless a value is selected.
Available for Google Workspace add-ons and Google Chat apps.
const dateTimePicker =
CardService.newDateTimePicker()
.setTitle('Enter the date and time.')
.setFieldName('date_time_field')
// Set default value as Jan 1, 2018, 3:00 AM UTC. Either a number or
// string is acceptable.
.setValueInMsSinceEpoch(1514775600)
// EDT time is 5 hours behind UTC.
.setTimeZoneOffsetInMins(-5 * 60)
.setOnChangeAction(
CardService.newAction().setFunctionName('handleDateTimeChange'),
);
Detailed documentation
setFieldName(fieldName)
Sets the field name that identifies this picker in the event object that is generated when
there is a UI interaction. The field name is visible to the user. Required; the specified field
name must be unique.
Parameters
Name | Type | Description |
fieldName | String | The name to assign to this input. |
Return
DateTimePicker
— This picker, for chaining.
setOnChangeAction(action)
Sets an Action
that the script performs whenever the picker input changes.
Parameters
Name | Type | Description |
action | Action | The action to take. |
Return
DateTimePicker
— This picker, for chaining.
setTimeZoneOffsetInMins(timeZoneOffsetMins)
Sets the number of minutes that the time zone should be offset from UTC. If set, the date and
time is displayed in the specified time zone. If not set, the time is displayed in the user's
time zone.
Parameters
Name | Type | Description |
timeZoneOffsetMins | Integer | The number of minutes that the time zone is offset from UTC. |
Return
DateTimePicker
— This picker, for chaining.
setTitle(title)
Sets the title displayed above the input field.
Parameters
Name | Type | Description |
title | String | The input field title. |
Return
DateTimePicker
— This picker, for chaining.
setValueInMsSinceEpoch(valueMsEpoch)
Sets the prefilled value to be set in the input field.
Parameters
Name | Type | Description |
valueMsEpoch | Number | The default value placed in the input as a number, in milliseconds since
the epoch. It is always represented as a string in the form callback parameters. |
Return
DateTimePicker
— This picker, for chaining.
setValueInMsSinceEpoch(valueMsEpoch)
Sets the prefilled value to be set in the input field.
Parameters
Name | Type | Description |
valueMsEpoch | String | The default value placed in the input as a string, in milliseconds since
the epoch. It is always represented as a string in the form callback parameters. |
Return
DateTimePicker
— This picker, for chaining.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-01-30 UTC.
[null,null,["Last updated 2025-01-30 UTC."],[[["\u003cp\u003eDateTimePicker is an input field that allows users to input both a date and a time within Google Workspace Add-ons and Google Chat apps.\u003c/p\u003e\n"],["\u003cp\u003eIt provides functionalities to set a title, a default value, and a specific time zone for the date and time selection.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can set a field name for identifying the picker in events, and trigger custom actions when the input changes using \u003ccode\u003esetOnChangeAction()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe prefilled value can be set using milliseconds since the epoch, represented as either a number or a string.\u003c/p\u003e\n"]]],[],null,["# Class DateTimePicker\n\nDateTimePicker\n\nAn input field that allows users to input a date and time.\n\nSupports form submission validation. When [Action.setAllWidgetsAreRequired(allWidgetsAreRequired)](/apps-script/reference/card-service/action#setAllWidgetsAreRequired(Boolean)) is set to\n`true` or this widget is specified through [Action.addRequiredWidget(requiredWidget)](/apps-script/reference/card-service/action#addRequiredWidget(String)), the submission\naction is blocked unless a value is selected.\n\nAvailable for Google Workspace add-ons and Google Chat apps.\n\n```javascript\nconst dateTimePicker =\n CardService.newDateTimePicker()\n .setTitle('Enter the date and time.')\n .setFieldName('date_time_field')\n // Set default value as Jan 1, 2018, 3:00 AM UTC. Either a number or\n // string is acceptable.\n .setValueInMsSinceEpoch(1514775600)\n // EDT time is 5 hours behind UTC.\n .setTimeZoneOffsetInMins(-5 * 60)\n .setOnChangeAction(\n CardService.newAction().setFunctionName('handleDateTimeChange'),\n );\n``` \n\n### Methods\n\n| Method | Return type | Brief description |\n|----------------------------------------------------------------------------------|---------------------|--------------------------------------------------------------------------------------------------------------------------|\n| [setFieldName(fieldName)](#setFieldName(String)) | [DateTimePicker](#) | Sets the field name that identifies this picker in the event object that is generated when there is a UI interaction. |\n| [setOnChangeAction(action)](#setOnChangeAction(Action)) | [DateTimePicker](#) | Sets an [Action](/apps-script/reference/card-service/action) that the script performs whenever the picker input changes. |\n| [setTimeZoneOffsetInMins(timeZoneOffsetMins)](#setTimeZoneOffsetInMins(Integer)) | [DateTimePicker](#) | Sets the number of minutes that the time zone should be offset from UTC. |\n| [setTitle(title)](#setTitle(String)) | [DateTimePicker](#) | Sets the title displayed above the input field. |\n| [setValueInMsSinceEpoch(valueMsEpoch)](#setValueInMsSinceEpoch(Number)) | [DateTimePicker](#) | Sets the prefilled value to be set in the input field. |\n| [setValueInMsSinceEpoch(valueMsEpoch)](#setValueInMsSinceEpoch(String)) | [DateTimePicker](#) | Sets the prefilled value to be set in the input field. |\n\nDetailed documentation\n----------------------\n\n### `set``Field``Name(fieldName)`\n\nSets the field name that identifies this picker in the event object that is generated when\nthere is a UI interaction. The field name is visible to the user. Required; the specified field\nname must be unique.\n\n#### Parameters\n\n| Name | Type | Description |\n|---------------|----------|-----------------------------------|\n| `field``Name` | `String` | The name to assign to this input. |\n\n#### Return\n\n\n[DateTimePicker](#) --- This picker, for chaining.\n\n*** ** * ** ***\n\n### `set``On``Change``Action(action)`\n\nSets an [Action](/apps-script/reference/card-service/action) that the script performs whenever the picker input changes.\n\n#### Parameters\n\n| Name | Type | Description |\n|----------|------------------------------------------------------|---------------------|\n| `action` | [Action](/apps-script/reference/card-service/action) | The action to take. |\n\n#### Return\n\n\n[DateTimePicker](#) --- This picker, for chaining.\n\n*** ** * ** ***\n\n### `set``Time``Zone``Offset``In``Mins(timeZoneOffsetMins)`\n\nSets the number of minutes that the time zone should be offset from UTC. If set, the date and\ntime is displayed in the specified time zone. If not set, the time is displayed in the user's\ntime zone.\n\n#### Parameters\n\n| Name | Type | Description |\n|----------------------------|-----------|--------------------------------------------------------------|\n| `time``Zone``Offset``Mins` | `Integer` | The number of minutes that the time zone is offset from UTC. |\n\n#### Return\n\n\n[DateTimePicker](#) --- This picker, for chaining.\n\n*** ** * ** ***\n\n### `set``Title(title)`\n\nSets the title displayed above the input field.\n\n#### Parameters\n\n| Name | Type | Description |\n|---------|----------|------------------------|\n| `title` | `String` | The input field title. |\n\n#### Return\n\n\n[DateTimePicker](#) --- This picker, for chaining.\n\n*** ** * ** ***\n\n### `set``Value``In``Ms``Since``Epoch(valueMsEpoch)`\n\nSets the prefilled value to be set in the input field.\n\n#### Parameters\n\n| Name | Type | Description |\n|--------------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `value``Ms``Epoch` | `Number` | The default value placed in the input as a number, in milliseconds since the epoch. It is always represented as a string in the form callback parameters. |\n\n#### Return\n\n\n[DateTimePicker](#) --- This picker, for chaining.\n\n*** ** * ** ***\n\n### `set``Value``In``Ms``Since``Epoch(valueMsEpoch)`\n\nSets the prefilled value to be set in the input field.\n\n#### Parameters\n\n| Name | Type | Description |\n|--------------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `value``Ms``Epoch` | `String` | The default value placed in the input as a string, in milliseconds since the epoch. It is always represented as a string in the form callback parameters. |\n\n#### Return\n\n\n[DateTimePicker](#) --- This picker, for chaining."]]