JS獲取時間(當前-過去-未來)


/**
         * 獲取時間格式為:1970-01-01 00:00
         * @param  {參數} params 
         * 屬性         類型      默認值        必填    說明
         * date         Date    new Date()      否     Date對象
         * ms            int         0          否     獲取距當前ms毫秒時間
         * dateFormat   String      /           否      日期分隔符
         * timeFormat   string      :           否      時間分隔符
         * 
         */
        const formatTime = (params) => {
            const ms = (!params.ms ? 0 : params.ms);
            const date = !params.data ? new Date(new Date().getTime() + ms) : new Date(params.date.getTime() + ms);
            const year = date.getFullYear();
            const month = date.getMonth() + 1;
            const day = date.getDate();
            const hour = date.getHours();
            const minute = date.getMinutes();
            const second = date.getSeconds();
            const dateFormat = (!params.dateFormat) ? "/" : params.dateFormat;
            const timeFormat = (!params.timeFormat) ? ":" : params.timeFormat;
            return [year, month, day].map(formatNumber).join(dateFormat) + ' ' + [hour, minute, second].map(formatNumber).join(timeFormat);
        }

        const formatNumber = n => {
            n = n.toString();
            return n[1] ? n : '0' + n;
        }

測試案例:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8" name="viewport" content="width=device-width;initscale=1.0" />
    <title>js獲取當前/未來時間</title>
</head>

<body>
    <h1>5分鍾前時間:<span id="beforeFiveMinuteTime"></span></h1>
    <h1>當前時間:<span id="nowTime"></span></h1>
    <h1>5分鍾后時間:<span id="afterFiveMinuteTime"></span></h1>

    <script type="text/javascript">
        /**
         * 獲取時間格式為:1970-01-01 00:00
         * @param  {參數} params 
         * 屬性         類型      默認值        必填    說明
         * date         Date    new Date()      否     Date對象
         * ms            int         0          否     獲取距當前ms毫秒時間
         * dateFormat   String      /           否      日期分隔符
         * timeFormat   string      :           否      時間分隔符
         * 
         */
        const formatTime = (params) => {
            const ms = (!params.ms ? 0 : params.ms);
            const date = !params.data ? new Date(new Date().getTime() + ms) : new Date(params.date.getTime() + ms);
            const year = date.getFullYear();
            const month = date.getMonth() + 1;
            const day = date.getDate();
            const hour = date.getHours();
            const minute = date.getMinutes();
            const second = date.getSeconds();
            const dateFormat = (!params.dateFormat) ? "/" : params.dateFormat;
            const timeFormat = (!params.timeFormat) ? ":" : params.timeFormat;
            return [year, month, day].map(formatNumber).join(dateFormat) + ' ' + [hour, minute, second].map(formatNumber).join(timeFormat);
        }

        const formatNumber = n => {
            n = n.toString();
            return n[1] ? n : '0' + n;
        }


        window.onload = () => {
            document.getElementById("beforeFiveMinuteTime").innerHTML = formatTime({
                date: new Date(),
                ms: -5 * 60 * 1000,
                dateFormat: "-"
            });

            document.getElementById("nowTime").innerHTML = formatTime({
                date: new Date(),
                timeFormat: "/"
            });
            document.getElementById("afterFiveMinuteTime").innerHTML = formatTime({
                date: new Date(),
                ms: 5 * 60 * 1000
            });
        }
    </script>

</body>

</html>

結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM