Javascript 如何使用特定时区自动将API数据直接保存到数据库或本地存储中?
我提出了这个关于堆栈溢出的问题,因为我无法解决一个我已经处理了很长时间的小问题 我不明白的一个问题是:Javascript 如何使用特定时区自动将API数据直接保存到数据库或本地存储中?,javascript,api,datetime,web,local-storage,Javascript,Api,Datetime,Web,Local Storage,我提出了这个关于堆栈溢出的问题,因为我无法解决一个我已经处理了很长时间的小问题 我不明白的一个问题是: 我想要一个函数,它可以自动设置API中的数据,并通过使用纯javascript按特定的本地时区自动将数据直接保存到本地存储或数据库中 我希望数据在当地时间12:01和下午4:30自动保存到本地存储或数据库,然后显示到HTML DOM 我希望API能在每秒钟内获取更新数据。 请看一下我自己写的一些代码 /* --------------------------------------
- 我想要一个函数,它可以自动设置API中的数据,并通过使用纯javascript按特定的本地时区自动将数据直接保存到本地存储或数据库中
- 我希望数据在当地时间12:01和下午4:30自动保存到本地存储或数据库,然后显示到HTML DOM
- 我希望API能在每秒钟内获取更新数据。
/* ---------------------------------------------------------------------- */
/* -------------------------- Retrieve API ------------------------- */
/* ---------------------------------------------------------------------- */
// Fetch Meow Data Main();
const pjk_Meow = async () => {
const base = 'aHR0cHM6Ly90d29';
const cors = atob('aHR0cHM6Ly9jb3JzLmNo');
const pjk_meow = atob(base);
try {
const res = await fetch(cors + pjk_meow);
const data = await res.json();
return data;
} catch (error) {
return error.message;
}
};
/* ---------------------------------------------------------------------- */
/* -------------------------- Schedule and Save to Local Storage ------------------------- */
/* ---------------------------------------------------------------------- */
// // 12:00 PM Request Data
const pjk_Meow_4 = async () => {
const base = 'aHR0cHM6Ly90d29';
const cors = atob('aHR0cHM6Ly9jb3JzLmNoY');
const pjk_meow = atob(base);
// Set default time what I want it to.
let d_time = '12:03:12 PM';
let d_time_2 = '12:10:12 PM';
let current_time = new Date().toLocaleTimeString();
try {
if (current_time === d_time || current_time <= 13) {
try {
const res = await fetch(cors + pjk_meow);
const data = await res.json();
// Working with LS
let data_serialized = JSON.stringify(data);
localStorage.setItem('afternoon', data_serialized);
return data_serialized;
} catch (error) {
return false;
}
}
} catch (error) {
return false;
}
};
pjk_Meow_4();
// 12:00 PM Callback and output to html
const twelve_pm = () => {
setInterval(() => {
try {
let third_Data = JSON.parse(localStorage.getItem('afternoon'));
const setThird = document.getElementById('setThird');
const valueThird = document.getElementById('valueThird');
const resultThird = document.getElementById('resultThird');
// If there is no any data in LS, this condition will run
if (localStorage.length <= 0 || localStorage === undefined) {
setThird.innerText = '------';
valueThird.innerText = '-------';
resultThird.innerText = '--';
}
// Destructuring 12:00 PM Result
const { set, val, result } = third_Data;
// Check time and get data
setThird.innerText = set;
valueThird.innerText = val;
resultThird.innerText = result;
} catch (error) {
return false;
}
}, 3000);
};
twelve_pm();
// // 4:30 PM Request Data
const pjk_Meow_3 = async () => {
const base = 'aHR0cHM6Ly90d29kLml0';
const cors = atob('aHR0cHM6Ly9jb3J');
const pjk_meow = atob(base);
// Set default time what I want it to.
let d_time_1 = '04:35:00 PM';
let d_time_2 = '16:35:00 PM';
let current_time = new Date().toLocaleTimeString();
// let current_time = new Date().getHours();
try {
if (current_time === d_time_1 || current_time >= d_time_2) {
try {
const res = await fetch(cors + pjk_meow);
const data = await res.json();
// Working with LS
let data_serialized = JSON.stringify(data);
localStorage.setItem('evening', data_serialized);
return data_serialized;
} catch (error) {
console.log(error.message);
}
}
} catch (error) {
return false;
}
};
pjk_Meow_3();
// 4:30 PM Callback and output to html
const four_pm = () => {
setInterval(() => {
try {
let second_Data = JSON.parse(localStorage.getItem('evening'));
const setSec = document.getElementById('setSec');
const valueSec = document.getElementById('valueSec');
const resultSec = document.getElementById('resultSec');
// If there is no any data in LS, this condition will run
if (localStorage.length <= 0 || localStorage === undefined) {
setSec.innerText = '------';
valueSec.innerText = '-------';
resultSec.innerText = '--';
}
// Destructuring 12:00 PM Result
const { set, val, result } = second_Data;
// Check time and get data
setSec.innerText = set;
valueSec.innerText = val;
resultSec.innerText = result;
} catch (error) {
return false;
}
}, 3000);
};
four_pm();
new Date().toLocaleTimeString()返回的值取决于实现,因此对于某些(大多数?)用户来说,将其与固定字符串进行比较肯定会失败。对我来说,它产生了“11:21:33”。另外,它是一个字符串,所以
current_time是的,您是否知道通过使用javascript为特定时间函数提供一些示例代码的引用?我很感激您留下评论。使用关系运算符进行字符串比较很麻烦(您是在比较子字符串或代码单元,而不是数字),最好将小时和分钟作为数字,并与数字进行比较。转换为分钟,因此m+=h*60
然后如果(m==270 | m>=990)
。
// Set the default time what I want to save to the localStorage
let d = new Date();
let h = d.getHours();
let m = d.getMinutes();
let compile = `${h}:${m}`;
try {
if (compile === '4:30' || compile >= '16:30') {
try {
const res = await fetch(cors + pjk_meow);
const data = await res.json();
// Working with LS
let data_serialized = JSON.stringify(data);
localStorage.setItem('evening', data_serialized);
return data_serialized;
} catch (error) {
console.log(error.message);
}
}
} catch (error) {
return false;
}