This is an almost embarrassingly simple stardate calculator. Below is the code, feel free to use and modify it for your own needs!
One thing to note, this is not *technically* an accurate stardate. To calculate a stardate, we must subtract from January 1, 2318. This in result gives us a negative number. However, I think this looks hideous, and as we are still ~300 years way from the date, I don't want to see a negative number next to the stardate. To fix this the absolute number (math.abs) is used.
<!DOCTYPE html>
<html>
<head>
<title>Stardate Calculator</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f2f2f2;
}
.container {
max-width: 600px;
margin: 0 auto;
padding: 20px;
background-color: #fff;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
border-radius: 5px;
}
h1, h2 {
text-align: center;
margin-bottom: 30px;
}
label {
display: block;
font-size: 18px;
font-weight: bold;
margin-bottom: 10px;
}
.result {
font-size: 24px;
font-weight: bold;
text-align: center;
margin-top: 30px;
}
</style>
</head>
<body>
<div class="container">
<h1>Stardate Calculator</h1>
<div class="result" id="result"></div>
</div>
<script>
function updateStardate() {
var timestamp = new Date().getTime();
var stardate = Math.round(Math.abs((timestamp - Date.parse('2318-01-01')) / (24 * 60 * 60 * 0.68)) * 100) / 100;
document.getElementById('result').innerHTML = "Stardate: " + stardate;
}
updateStardate();
setInterval(updateStardate, 1000);
</script>
</body>
</html>