Alter dummy content created with Devel Generate

Use this pattern with entity hooks to check if the entity is created with Devel Generate.

function calendar_custom_node_presave(\Drupal\Core\Entity\EntityInterface $entity) {
  $devel_generate = \Drupal::moduleHandler()->moduleExists('devel_generate');

  // Check for devel_generate details.
  if ($devel_generate && isset($entity->devel_generate)) {
    // List of date fields to check.
    $date_fields = ['field_date', 'field_posted', 'field_event_date'];

    // Reference current date and "2 months ago" marker.
    $now = new DrupalDateTime();
    $two_months_ago = clone $now;
    $two_months_ago->modify('-2 months');

    foreach ($date_fields as $field_name) {
      if ($entity->hasField($field_name) && !$entity->get($field_name)->isEmpty()) {
        $date_value = $entity->get($field_name)->first()->getValue()['value'];
        $date = new DrupalDateTime($date_value);

        if ($date < $two_months_ago) {
          $date->modify('+1 year');
          $entity->set($field_name, $date->format(Y-m-d\TH:i:s'));
        }
      }
    }
  }
}