日常生活では、さまざまな形の時間文字がどこにでもあります。時間の概念の出現、時間単位や計時ツールの発明は、一言で説明するのが難しい変化を人間にもたらしました。今日は日付について話しましょう。 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 ループを使用します。
ここにリストされているのはほんの一部の例にすぎません。他の魔法のような操作スキルがあなたを待っているかもしれません。
上記は私があなたのためにまとめたものです。
関連記事:
JS DOM要素の一般的な追加、削除、変更、確認操作を詳しく解説
以上がJavaScript の魔法の Date オブジェクト (グラフィック チュートリアル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。