/var/www/cobraambalaj/vendor/fakerphp/faker/src/Faker/Provider/fi_FI
Edit: /var/www/cobraambalaj/vendor/fakerphp/faker/src/Faker/Provider/fi_FI/Person.php (16726B)
format('dmy');
switch ((int) ($birthdate->format('Y') / 100)) {
case 18:
$centurySign = '+';
break;
case 19:
$centurySign = '-';
break;
case 20:
$centurySign = 'A';
break;
default:
throw new \InvalidArgumentException('Year must be between 1800 and 2099 inclusive.');
}
$randomDigits = self::numberBetween(0, 89);
if ($gender && $gender == static::GENDER_MALE) {
if ($randomDigits === 0) {
$randomDigits .= static::randomElement([3, 5, 7, 9]);
} else {
$randomDigits .= static::randomElement([1, 3, 5, 7, 9]);
}
} elseif ($gender && $gender == static::GENDER_FEMALE) {
if ($randomDigits === 0) {
$randomDigits .= static::randomElement([2, 4, 6, 8]);
} else {
$randomDigits .= static::randomElement([0, 2, 4, 6, 8]);
}
} else {
if ($randomDigits === 0) {
$randomDigits .= self::numberBetween(2, 9);
} else {
$randomDigits .= (string) static::numerify('#');
}
}
$randomDigits = str_pad($randomDigits, 3, '0', STR_PAD_LEFT);
$checksum = $checksumCharacters[(int) ($datePart . $randomDigits) % strlen($checksumCharacters)];
return $datePart . $centurySign . $randomDigits . $checksum;
}
}