UNPKG

keystone

Version:

Web Application Framework and Admin GUI / Content Management System built on Express.js and Mongoose

73 lines (39 loc) 2.12 kB
# DateTime Field Stores a `String` of both date and time in the model. Displayed as a date and time picker in the Admin UI. Internally uses [moment.js](http://momentjs.com/) to manage date parsing, formatting and comparison. If the `utc` option is set, `moment(value).utc()` is called in all methods to enable moment's utc mode. String parsing with moment will be done using the `parseFormat` option, which defaults to `"'YYYY-MM-DD h:m:s a'"`. ## Example ```js { type: Types.Datetime, default: Date.now } ``` ## Options * `parseFormat` `string` The default pattern to read in values with. Defaults to an array of values to try: `['YYYY-MM-DD', 'YYYY-MM-DD h:m:s a', 'YYYY-MM-DD h:m a', 'YYYY-MM-DD H:m:s', 'YYYY-MM-DD H:m', 'YYYY-MM-DD h:mm:s a Z', moment.ISO_8601]` * `format` `string` The default format pattern to use when display the information. Defaults to `Do MMM YYYY hh:mm:ss a` See the [momentjs format docs](http://momentjs.com/docs/#/displaying/format/) for information on the supported formats and options. `utc` `boolean` Sets whether the string should be displayed in the admin UI in UTC time or local time. Defaults to `false`. ## Methods ### `updateItem` Updates with the provided value if it is different from the stored value. Uses the `Date` field `parse` method to interpret the input as a date. `null` and `""` can be used to clear the stored value. ### `validateInput` Ensures the value, if provided, is either a Date object, a number that can be interpreted as epoch time, or a string that can be parsed into a valid date by [momentjs](http://momentjs.com/). Allows `null` and `""` to clear the field value. ### Inherits from [`Date`](../date) - `format()` - `moment()` - `addFilterToQuery()` - `parse()` ### Inherits from [`Text`](../text) - `validateRequiredInput()` ## Filtering Uses the same logic and filter UI as the [`Date`](../date) field type. ## Notes Input should either be a valid **Date**, or a string in the format `YYYY-MM-DD` (can be blank unless field is required) To default Date fields to the current time, set the `default` option to `Date.now`