3 namespace Drupal\Core\Field\Plugin\Field\FieldType;
5 use Drupal\Core\Field\FieldDefinitionInterface;
6 use Drupal\Core\Field\FieldItemBase;
7 use Drupal\Core\Field\FieldStorageDefinitionInterface;
8 use Drupal\Core\TypedData\DataDefinition;
11 * Defines the 'timestamp' entity field type.
15 * label = @Translation("Timestamp"),
16 * description = @Translation("An entity field containing a UNIX timestamp value."),
17 * default_widget = "datetime_timestamp",
18 * default_formatter = "timestamp",
23 * "min" = "-2147483648",
24 * "max" = "2147483648",
32 class TimestampItem extends FieldItemBase {
37 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) {
38 $properties['value'] = DataDefinition::create('timestamp')
39 ->setLabel(t('Timestamp value'))
47 public static function schema(FieldStorageDefinitionInterface $field_definition) {
60 public static function generateSampleValue(FieldDefinitionInterface $field_definition) {
61 // Pick a random timestamp in the past year.
62 $timestamp = \Drupal::time()->getRequestTime() - mt_rand(0, 86400 * 365);
63 $values['value'] = $timestamp;