The DateTimeField
schema defines the structure for a field object used to display date and time values within a UI. This schema allows for various customizations such as labeling, CSS styling, translation, transformations, and conditional display logic.
The DateTime Field is meant for displaying dates with an specific format (in case you don't want to use timestamps). The transform_data method of this field, turns the data into a more readable format specified by the user through the format parameter.
As a difference from the Date Field, DateTime Field is capable of changing the DateTime time zone easing the process of localization.
Property | Type | Description | Required | Default | Enum |
---|---|---|---|---|---|
type | string | The type of field. | No | date_time | date_time |
label | string/null | Label to show for this field. | No | null | |
css_style | object/null | Style to apply in the HTML of the UI. | No | null | |
css_class | string/null | CSS class to apply in the HTML component. | No | null | |
translate | string/null | Translation key for the field. | No | null | |
translate_label | string/null | Translation key for the label. | No | null | |
analytics | object/null | Analytics configuration. | No | null | |
if_not_exist | string/null | Show only if the specified field doesn't exist. | No | null | |
if_exist | string/null | Show only if the specified field does exist. | No | null | |
only_on_highlight | boolean | Show only when the value is highlighted. | No | false | |
display | any | Value from the field. | No | null | |
field | string | Path to field from which to retrieve the value (in JMESPath format). | Yes | ||
field_highlight | string/null | Path to highlight field from which to retrieve the value, in case it is not the same as the field parameter (in JMESPath format). | No | null | |
default | any | Default value to use in case no value was found for the field. | No | null | |
transform | array/string/null | List of transformations to apply to the displayed values. | No | null | |
suffix | string/null | Suffix to append to the value or values. | No | null | |
prefix | string/null | Prefix to append to the value or values. | No | null | |
suffix_label | string/null | Suffix to append to the label of the field. | No | null | |
prefix_label | string/null | Prefix to append to the label of the field. | No | null | |
sort | string/boolean | Sort order for values in an array. | No | false | asc, desc |
unique | boolean | If the values are in an array, remove the duplicates. | No | false | |
show_blank | boolean | If there is no value, or value is null, and show_blank is true, keep the field. | No | false | |
replacement | string/null | Replacement string for matches in the transformations Transformation.REPLACE_FIRST , Transformation.REPLACE_LAST , and Transformation.REPLACE_ALL . | No | null | |
pattern | string/null | Pattern used to look for matches in the transformations Transformation.REPLACE_FIRST , Transformation.REPLACE_LAST , and Transformation.REPLACE_ALL . | No | null | |
format | string | Format of the date and time value. | No | %Y-%m-%d %H:%M:%S | |
timezone | string/null | Timezone for the date and time value. | No | null |
{ "type": "date_time", "label": "Last Login", "css_style": null, "css_class": null, "translate": null, "translate_label": null, "analytics": null, "if_not_exist": null, "if_exist": null, "only_on_highlight": false, "display": null, "field": "last_login", "field_highlight": null, "default": null, "transform": null, "suffix": null, "prefix": null, "suffix_label": null, "prefix_label": null, "sort": false, "unique": false, "show_blank": false, "replacement": null, "pattern": null, "format": "%Y-%m-%d %H:%M:%S", "timezone": "UTC" }
date_time_field_example = DateTimeField( field="last_login", format="%Y-%m-%d %H:%M:%S", timezone="UTC" )
Known Issues
Parsed string dates with attached time zones may behave unpredictably, as the date time is interpreted backwards by the string date parser, an example of faulty date is "2012-01-19 19:21:00 GMT+2"
This was fixed on version 3.1.