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'));
}
}
}
}
}