[関連する推奨事項: JavaScript ビデオ チュートリアル、Web フロントエンド]
次に、JS の一般的な組み込みオブジェクトの 2 番目のタイプである Date オブジェクトについて説明します
。Date オブジェクトは Math オブジェクトとは異なります。Math オブジェクトはコンストラクターではありません。 Date オブジェクトはコンストラクターであるため、直接使用できます。そのため、Date オブジェクトは開発時に時刻と日付の問題を処理するために使用される前に、オブジェクトのインスタンス化、つまり new を行う必要があります。
var date=new Date();
Date オブジェクトはパラメータの有無にかかわらずインスタンス化できます。パラメータがある場合は、表示したい時間を出力できます。
と
、現在のシステムの時刻と日付が表示されます。
// パラメータなし console.log(date);出力。
パラメータを使用したインスタンス化には、数値型と文字列型の 2 つのタイプがあります。それぞれの例を次に示します。
1. 数値パラメータのインスタンス化:
var date=new Date(2021 ,1,18); //数値パラメータ console.log(date);
入力したパラメーターは 1 月ですが、出力結果は 2 月 (2 月) であることがわかります。数値出力は入力した月より 1 か月大きくなります。
2. 文字列パラメータのインスタンス化:
var date=new Date('2021-1-18 12:56:00'); //文字列パラメータ console.log(date);
パラメーターは 1 月であり、出力結果も 1 月であるため、文字列パラメーターは数値パラメーターよりも頻繁に使用されます。
Math オブジェクトには、直接使用できる属性とメソッドが多数あることはすでにわかっています。Date オブジェクトにも同様に、多くのメソッドが一般的に使用されます。年、月、日をフォーマットするために使用されるメソッド:
getFull Year() 現在の年を出力します
getMonth() 現在の月を出力します(出力月は実際の月より 1 減算され、実際の月の出力に 1 を加算する必要があることに注意してください)
getDate() 現在の日付を出力
getDay() 現在の曜日を出力します(月曜日から日曜日までの対応する数値: 1 2 3 4 5 6 0)
var Date=new Date(); console.log(Date.getFull Year()); //現在の年を出力します console.log(Date.getMonth() + 1); //出力結果は現在の月の前の月になります。返すには手動で 1 を追加する必要があります。現在の月 console .log(Date.getDate()); //現在の曜日を出力します console.log(Date.getDay()); //現在の曜日を出力します
出力効果を2021 年 1 月 18 日火曜日にしたい場合は、次のようにすることができます
(曜日は 1 つの数字しか返せないためですが、習慣に従って「曜日」を返したいので、返された数値をインデックスとして扱い、日曜日から土曜日までを配列に入れます。日曜日は 0 を返すため、日曜日を配列の最初の位置 (インデックス 0 に対応します) に置きます。
var arr=['Sunday','Monday '、'火曜日'、'水曜日'、'木曜日'、'金曜日'、'土曜日']; var Date=新しい日付(); var year=Date.getFullyear(); var month=Date.getMonth() + 1; var date=Date.getDate(); var day=Date.getDay(); console.log(年 + '年' + 月 + '月' + 日付 + '日' + arr[日]);
、上記の年、月、日の書式設定と同じ
getHours()
と似ています。現在の時間を出力します
getMinutes() 現在の分を出力します
getSeconds() 現在の 2 番目の
var Date=new Date(); を出力します。 console.log(Date.getHours()); //現在の時間を出力します console.log(Date.getMinutes()) //現在の分を出力します console.log(Date.getSeconds());秒
時、分、秒を連続形式で出力します。
これを関数にカプセル化し、三項演算子を使用して 10 未満の数値に 0 を加算します。これは、時刻関数 time() を調べる通常の習慣と一致しています
。 { var time=新しい日付(); var h=time.getHours(); h = h<10 ? '0'+h : h; var m=time.getMinutes(); m = m<10?+m : m; var s=time.getSeconds(); s = s<10 ? '0'+s : s; h+'時'+m+'分'+s+'秒'を返します; } console.log(time());
valueOf()
getTime を
表現するメソッドは 4 つあります。
()
var date= 新しい Date(); console.log(date.valueOf()); console.log(date.getTime());
または、ミリ秒の合計を返す別の単純な書き込みメソッド var date=+new Date(); を使用します
。console.log
(
date);
H5 で追加された新しいメソッド。このメソッドはオブジェクトをインスタンス化せずに取得でき、より簡単です。6
:日常生活における
カウントダウンは、タオバオ、JD.com のダブル イレブン フラッシュ セール カウントダウンなど、開発中にさまざまな場所で使用されます。まず、現在時刻の取得について学んだことを考えてから、カウントダウン エフェクトを作成するにはどうすればよいでしょうか。設定した時間を差し引いてください。時間は十分ですが、差し引いた後の標準時間はマイナスの値になる可能性があります (02-12 など)。したがって、タイムスタンプは、先ほど述べた合計ミリ秒数であり、一連の処理を実行した後の、設定された合計ミリ秒数を差し引いたものを使用できます。まず、単位変換間の関係を覚えておく必要があります:
1 秒 = 1000 ミリ秒
、日 = 秒/60/60/24
時間 = 秒 数値/60/60% 24
分=秒/60%60
秒=秒%60
割り切れない秒については、parseInt() メソッドを使用して丸めることができます。このような変換関係では、このカウントダウンのケースは関数 count(time)
で簡単に実現できます。
{ var nowtime=+new Date(); // 現在時刻を取得 var aimtime=+new Date(time) // 目標時刻(終了時刻)を取得 var time=(aimtime-nowtime)/1000; //カウントダウン時間の差 (ミリ秒) を取得します。 var d=parseInt(times/60/60/24) // カウントダウン日数を取得します。 d<10?'0' +d:d; //10 未満の時間に 0 を加算します。 var h=parseInt(times/60/60%24) //カウントダウン時間を取得 h=h<10?'0'+h:h; //10 未満の時刻に 0 を加算します。 var m=parseInt(times/60%60) //カウントダウン分を取得します m=m<10?'0'+m:m; //10 未満の時間に 0 を加算します。 var s=parseInt(times%60) //カウントダウン秒数を取得 s=s<10?'0'+s:s; //10未満の時間に0を加算します。 return d + '日' + h + '時' + m + '分' + s + '秒' //カウントダウンを返す} alert('カウントダウンは残っています' + count('2022-1-18 16:30:00')); //呼び出してターゲットの終了時刻を入力します
[
関連する推奨事項: JavaScript ビデオ チュートリアル、Web フロントエンド]
上記は完全に把握できています。JavaScript の Date オブジェクトの詳細については、ソース コード ネットワーク上の他の関連記事を参照してください。