如果将前端项目布置到云上面去,那么极有可能面对的一个问题就是:获取的时间并不是开发者所在时区的时间。开发者潜意识的疏忽这个问题并导致出错,因此,只要项目上了云,在获取时间的时候就必须指明所在的时区。
假如,云上布置的一个机器人需要每天晚上10点钟记录一条数据,那么正确的做法应该如下所示:
js
let dailyLaunch = false;
setInterval(
() => {
// 创建一个日期对象
const date = new Date();
// 配置时区
const options = { timeZone: 'Asia/Shanghai' };
// 使用配置的时区将时间戳转化成时间字符串
const formattedDate = date.toLocaleString('zh-CN', options);
// 解析得到当前时间
const [hour, min, sec] = formattedDate.split(" ")[1].split(":");
console.log(`现在是:${hour}:${min}:${sec}`);
if (hour === 22 && !dailyLaunch) {
sendRequestOnTheHour();
dailyLaunch = true;
} else if (hour !== 22) {
dailyLaunch = false;
}
}, 1 * 60 * 1000
)