目次
4. 春節から現在時刻を計算: 2022 年 2 月 1 日 00:00 までのカウントダウン
1. 時間オブジェクトとは何ですか
記録時間データを保存する
2 番目に、時間オブジェクトの作成構文
コンストラクターを通じて時間オブジェクトを作成する
デフォルトでは、現在の時刻の時刻オブジェクトを作成するパラメータはありません
。 var variable = new Date();指定した時刻に時刻オブジェクトを作成するようにパラメーターを設定します
。 var variable = new Date(parameter);//当前时间的时间对象 var time = new Date(); console.log(time); //指定时间的时间对象 //数字必须符合 时间数值范围 //参数语法形式1 //参数语法 年-月-日 时:分:秒 var time2 = new Date('2022-1-9 19:53:34'); console.log(time2); //参数语法 年 月 日 时:分:秒 var time3 = new Date('2022 1 9 19:53:34'); console.log(time3); //参数语法 年/月/日 时:分:秒 var time3 = new Date('2022/1/9 19:53:34'); console.log(time3); //参数语法 年-月-日 时:分:秒 var time4 = new Date('2022,1,9 19:53:34'); console.log(time4); //参数语法形式2 6个数字 //月份设定的数字是 0 - 11 对应 1 - 12 月 //数字格式 可以超出正常值范围 //会自动向前一个时间单位进位 var time5 = new Date(2022,0,9,19,53,34); console.log(time5); //设定月份是15 对应的是 1年4个月 //向 年份单位进1 月份显示 4月 var time6 = new Date(2022,15,9,19,53,34); console.log(time6);
結果:
3. 時刻オブジェクトの関数メソッド
時刻を取得 object.get...()
JavaScriptプログラムが提供する関数メソッドを使用して、時刻オブジェクトに格納されている特定の時刻データを取得します。
1. 時間オブジェクト.getFull Year()
4 桁の年を取得する
2. 時間オブジェクト.getMonth()
月を取得する
得られる結果は0から11までの数値です
1日から12日までの月に対応
3. 時間オブジェクト get.Date()
日付を取得する
4. 時間オブジェクト.getDay()
週を取得する
得られる結果は0から6までの数値です
日曜~土曜対応
5. 時間オブジェクト.getHours()
時間を取得する
6. 時間オブジェクト.getMinutes()
議事録を取得する
7. 時間オブジェクト.getSeconds()
秒を取得します
8. ケース: 現在時刻を取得する
//创建时间对象 var currentTime = new Date(); //向控制台输出 数据 console.log(currentTime); //向控制台输出 属性属性值 console.dir(currentTime); //获取 时间对象中的具体的时间数据 //获取4 位年份 var year = currentTime.getFullYear(); console.log(year); //获取月份 //获取的是0 ~ 11,进行+1操作,输出1~12 var month = (currentTime.getMonth() + 1) < 10 ? '0' + (currentTime.getMonth() + 1) : currentTime.getMonth() + 1; console.log(month); //获取日期 var day = currentTime.getDate() < 10 ? '0' + currentTime.getDate() : currentTime.getDate(); //获取星期 //获取结果0~6 //可以设定一个星期的数组 var weekArr = [ '星期日' , '星期一' , ' 星期二' , '星期三' , '星期四' , '星期五' , '星期六' ] ; var week = weekArr[currentTime.getDay()]; console.log(week); //获取小时 //获取的是对应小时 本地时间 var hour = currentTime.getHours() < 10 ? '0' + currentTime.getHours() : currentTime.getHours(); console.log(hour); //获取的是对应的小时 世界标准时间 //var hour = currentTime.getUTCHours(); //获取分钟 var minute = currentTime.getMinutes() < 10 ? '0' + currentTime.getMinutes() : currentTime.getMinutes(); console.log(minute); //获取秒 var seconds = currentTime.getSeconds() < 10 ? '0' + currentTime.getSeconds() : currentTime.getSeconds(); console.log(seconds);
結果:
4. タイムスタンプ
1. タイムスタンプの理解:
1970年1月1日0時0分00秒との時差
JavaScriptのタイムスタンプの単位はミリ秒です
1 秒 = 1000 ミリ秒
2. タイムスタンプの目的:
通常、時差を計算するにはタイムスタンプを使用します
次に、時差を対応する日、時、分、秒に変換します。
3. タイムスタンプを取得する
//创建时间对象 var time = newDate(); //获取时间戳 var td = time.getTime();
4. 春節から現在時刻を計算: 2022 年 2 月 1 日 00:00 までのカウントダウン
4.1 時間オブジェクトの作成
開始時刻 --- 現在の時刻
終了時刻 --- 設定時刻
4.2 時差の計算
終了時刻のタイムスタンプ - 開始時刻のタイムスタンプ
秒に変換する
4.3 時差(秒)を日、時間、分、秒に変換する
//创建当前时间的时间对象 var startTime = new Date(); var endTime = new Date('2022/2/1 00:00:00'); //计算时间差 var td = parseInt((endTime.getTime() - startTime.getTime()) / 1000); //换算为 天 小时 分钟 秒 前导补零 // 天 var day = parseInt( td / (24*60*60) ); // 小时 var hour = parseInt( td % (24*60*60) / (60*60) ); // 分钟 var minute = parseInt( td % (60*60) / 60 ); // 秒 var seconds = td % 60 ; //页面输出 document.write(`距离春节还剩下${day < 10 ? '0' + day : day}天${hour < 10 ? '0' + hour : hour}小时${minute < 10 ? '0' + minute : minute}分钟${seconds < 10 ? '0' + seconds : seconds}秒`);
結果:
5. タイマーディレイラー
1.タイマー
設定された時間間隔に従って、設定された時間間隔ごとにプログラムを実行します
時間間隔の単位はミリ秒です
つまり、プログラムは一定の間隔で繰り返し実行されます。
文法
setInterval(パラメータ 1, パラメータ 2);
パラメータ 1 実行する関数プログラム
パラメータ 2 の時間間隔
//定时器 //每间隔3000毫秒也就是3秒 执行一次 匿名函数中定义的程序 //语法形式1 setInterval(function() {console.log('正在努力写博客')},3000); //语法形式2 setInterval(fn,3000); function fn() { console.log('正在努力写博客') }
2. 遅延
インターバル時間に応じてプログラムの実行を遅らせます
つまり、設定された時間間隔に従ってプログラムの実行を遅らせます。
文法
setTimeout(パラメータ 1, パラメータ 2);
パラメータ 1 実行する関数プログラム
パラメータ 2 の時間間隔
//延时器 //间隔3秒,只会触发一次 //语法形式1 setTimeout(function() {console.log('正在努力写博客')},3000); //语法形式2 setTimeout(fn,3000); function fn() { console.log('正在努力写博客'); }
6. タイマーディレイラーをクリアします
文法
クリア間隔(パラメータ)
クリアタイムアウト(パラメータ)
これら 2 つの関数は、タイマーのクリアと遅延のクリアの両方を行うことができます。
パラメータはタイマーまたは遅延器のシリアル番号です。
// 定时器 延时器的执行效果 是 按照间隔的时间 触发 参数1 设定的函数程序 // 它们执行结果返回值 是 定时器 延时器函数内部定义的return的数值 // 也就意味着 变量中 存储的是 定时器延时器函数中 return 返回的数据数值 // 也就是 定时器延时器的编号序号 var num1 = setTimeout( function(){console.log(111)} , 1000 ); var num2 = setTimeout( function(){console.log(222)} , 2000 ); var num3 = setTimeout( function(){console.log(333)} , 3000 ); var num4 = setTimeout( function(){console.log(444)} , 4000 ); var num5 = setInterval( function(){console.log(555)} , 1000 ); console.log(num1); // 执行结果 1 console.log(num2); // 执行结果 2 console.log(num3); // 执行结果 3 console.log(num4); // 执行结果 4 console.log(num5); // 执行结果 5 // 清除的参数是 定时器 延时器 的 序号编号 // 可以直接定义数字,但是我们一般不这样做 //因为在实际项目中,有很多行代码,我们手动计算序号,很难操作 clearInterval(1); // 可以 使用变量 存储 定时器延时器的执行结果返回值 clearInterval(num2);