Date Fields

Store dates, with or without time, and date ranges.

Date Field - Datetime module

Pick whether you need to store a time when you add the field.

Image
Drupal date and datetime field storage

Date Range Field - Datetime Range module

Created, Changed Fields

Default date create and changed fields on node content.

These fields are added in Node::baseFieldDefinitions().

$fields['created'] = BaseFieldDefinition::create('created')
  ->setLabel(t('Authored on'))
  ->setDescription(t('The time that the node was created.'))
  ->setRevisionable(TRUE)
  ->setTranslatable(TRUE)
  ->setDisplayOptions('view', [
    'label' => 'hidden',
    'type' => 'timestamp',
    'weight' => 0,
  ])
  ->setDisplayOptions('form', [
    'type' => 'datetime_timestamp',
    'weight' => 10,
  ])
  ->setDisplayConfigurable('form', TRUE);

$fields['changed'] = BaseFieldDefinition::create('changed')
  ->setLabel(t('Changed'))
  ->setDescription(t('The time that the node was last edited.'))
  ->setRevisionable(TRUE)
  ->setTranslatable(TRUE);

ChangedItem extends CreatedItem, which extends TimestampItem.

namespace Drupal\Core\Field\Plugin\Field\FieldType;
class ChangedItem extends CreatedItem {}

namespace Drupal\Core\Field\Plugin\Field\FieldType;
class CreatedItem extends TimestampItem {}

These are stored in node_field_data as a timestamp.

Image
Drupal created changed fields database storage
Tags
Date