HTML can't do this; you'll either need to set the Refresh
header based on the current time or use JavaScript to reload the page. This answer focuses on the JavaScript approach.
You'll need to check the time every second and refresh if it matches your requirements:
<script>
setInterval(() => {
if (new Date().getSeconds() === 0) location.reload();
}, 1000);
</script>
But there's no guarantee this will run every second, and if the :00 second is missed, the page won't reload for at least a minute. A more robust solution saves the current minute (in a closure) and reloads when it changes:
<script>
setInterval((() => {
const lastMinute = new Date().getMinutes();
return () => {
const newMinute = new Date().getMinutes();
if (newMinute !== lastMinute) location.reload();
}
})(), 1000);
</script>