Available for Google Workspace add-ons and Google Chat apps.
constdateTimePicker=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'),);
Sets the prefilled value to be set in the input field.
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.
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.
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.
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["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."]]