Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用特定时区自动将API数据直接保存到数据库或本地存储中?_Javascript_Api_Datetime_Web_Local Storage - Fatal编程技术网

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;
        }