之前想搞来着,看到JS时间这么难搞就放弃了,直到昨天看到了别人博客底部的实时时间显示,好奇去看了一下源码,结果就这

2021-11-16T11:36:27.png
虽然总的来说相差不大,但我还是想做个真实的时间,先把时间做出来,再搞倒计时吧.先开个坑,等过几天有时间再来.目前的思路是使用服务器的时间戳,毕竟还是要以服务器时间为准嘛!

2021-12-12:忽然发现我还写了这么个东西,都快一个月了.其实倒计时早就写了,只是还没写完罢了,为了避免我鸽一个月还没动的事情发生,我先上一截代码.

// PHP
date_default_timezone_set("Asia/Shanghai");
header('Content-type: application/javascript;charset=utf-8');
$time_s = time();
$time_ms = ~~(microtime(true) * 1000);

echo <<<EOF_JS
// 服务器当前时间戳,秒级和毫秒级

let time_s={$time_s};
let time_ms={$time_ms};
EOF_JS;

// JS
function sleep(time) {
return new Promise((resolve) => setTimeout(resolve, time))
}
function site_live_time(now) {
// 获取服务器当前时间戳,通过取余取整计算出服务器运行天数(只需要天数,没必要转化成月份)

const past = 1614268800;
let tmp = now - past;
let day = ~~(tmp / 3600 / 24);
tmp %= 3600 * 24;
let hour = ~~(tmp / 3600);
tmp %= 3600;
let min = ~~(tmp / 60);
tmp %= 60;
let sec = tmp;
document.getElementById('mysite').innerText = `站点已存在${day}日${hour}时${min}分${sec}秒`;

now += 1;
// console.log(`现在是:${now}`);

sleep(1000).then(() => {
site_live_time(now)
})
}
site_live_time(time_s);