ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の Date オブジェクトの概要

JavaScript の Date オブジェクトの概要

黄舟
黄舟オリジナル
2017-10-12 10:51:441500ブラウズ

日常生活では、さまざまな形の時間文字がどこにでもあります。時間の概念の出現、時間単位とタイミングツールの発明は、人間に説明するのが非常に難しい変化をもたらしました。今日は日付について話しましょう。 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。