In the context of a browser game, what are the pros and cons of using a timestamp-based approach versus a real-time countdown for time-sensitive actions?

In a browser game, using a timestamp-based approach for time-sensitive actions allows for more accurate timing and prevents players from manipulating the system by changing their device's clock. However, it may not provide a real-time experience for players. On the other hand, using a real-time countdown provides a more interactive and engaging experience but is susceptible to manipulation if the client-side code is not secure.

// Timestamp-based approach
$current_time = time();
$last_action_time = $user['last_action_time']; // Retrieve last action time from database
$elapsed_time = $current_time - $last_action_time;

if($elapsed_time >= $cooldown_time) {
    // Perform time-sensitive action
    $user['last_action_time'] = $current_time;
    // Update last action time in database
} else {
    // Display remaining cooldown time to the user
    $remaining_time = $cooldown_time - $elapsed_time;
    echo "Action is on cooldown. Please wait for $remaining_time seconds.";
}