ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の Date オブジェクトの概要
日常生活では、さまざまな形の時間文字がどこにでもあります。時間の概念の出現、時間単位とタイミングツールの発明は、人間に説明するのが非常に難しい変化をもたらしました。今日は日付について話しましょう。 JavaScript の Date オブジェクトを見てみましょう。
Date オブジェクトは最も一般的に使用されるオブジェクトの 1 つですが、多くの人はその操作方法をまったく知らず、いくつかの簡単な操作であっても、自分で試してみずに moment を使用します。
今回は、デートにおけるデートの使い方のスキルを共有します。それが皆さんにインスピレーションを与えることができれば幸いです。
MDN公式サイト紹介
setDate()メソッドは、現地時間に基づいて日付オブジェクトの日数を指定します。
dayValue が月の妥当な範囲外の場合、setDate はそれに応じて Date オブジェクトを更新します。
たとえば、dayValue に 0 を指定すると、日付は前月の末日に設定されます。
月の日数を取得します
// 获取月份天数 function getMonthDayCount(year, month) { return new Date(year, month, 0).getDate(); } console.log(getMonthDayCount(2017, 10)); // 31
Date 3番目のパラメータの本質はsetDateと同じです。
日付が0の場合は自動的に前月の末日に戻るので、ここで月を減らす必要がなくちょうどいいです。
すべての月の日数を取得する
function getAllMonthDayCount(year) { var days = [31, new Date(year, 2, 0).getDate(), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; return days; } console.log(getAllMonthDayCount(2016));// [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
これは上記の拡張であり、あまり説明はありません。
うるう年ですか?
function isLeapYear(year) { return (year % 4 == 0) && (year % 100 != 0 || year % 400 == 0); }
これはインターネット上のコードです。ほとんどの人が使用していると思います。
しかし、本当に理解していますか、覚えていますか?
とにかく無理です。 。
function isLeapYear(year) { return new Date(year, 2, 0).getDate() === 29; } console.log([ isLeapYear(2000), isLeapYear(2016), isLeapYear(2017), isLeapYear(2018) ]); // [ true, true, false, false ]
こうしてみると、とてもシンプルでわかりやすいですね。
そして、忘れたくても忘れられないと思いますか?
日数の足し算と引き算
誰かが相対秒を使用して、何日前か何日後、あるいは月や年をまたいで計算しているのを見たことがあります。
実際には、setDate を直接設定するだけで、月や年をまたぐ状況が自動的に処理されます。
// 10天后是几月几号 var dt = new Date('2016-12-25'); dt.setDate(dt.getDate() + 10); console.log(dt.toLocaleDateString()); // 2017/1/4 // 10天前是几月几号 var dt = new Date('2017-01-04'); dt.setDate(dt.getDate() - 10); console.log(dt.toLocaleDateString()); // 2016/12/25
概要
これらは非常に基本的なものであり、誰もがメソッドの名前を知っているかもしれませんが、多くの人はまだそれを使用していません。
これは jq を使用するのと同じですが、結果を処理するために for ループを使用します。
以上がJavaScript の Date オブジェクトの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。