最初の日は常に日曜です。いくつかの国ではそうではありませんが、変えることはできません。上のすべてのメソッドはローカルタイムゾーンを基準に構成要素を返します。1月1日からの経過ミリ秒です。UTCのパターンもあります。これまで見たように、いくつかのメソッドは一度に複数の構成要素をセットすることができます。設定するときに言及されていない構成要素は変更されません。オブジェクトのとても便利な機能です。私たちが範囲外の値を指定した場合、それは自動的に調節されます。!範囲外の数値が指定された構成要素は自動的に補正されます。日付を2日増やす必要があるとしましょう。なりますが、考える必要はありません。2日を追加するだけです。2016この機能は、指定した期間後の日付を取得したいときによく利用されます。日付を取得しましょう。正しい日時を表示しますまた、ゼロや負値をセットすることもできます。同じです重要な副作用は、日付は減算することができますが、結果はミリ秒単位での差分になることです。オブジェクトを使う必要はありません。オブジェクトを作らないため、より速く、ガベージコレクションに負荷をかけません。これは主に利便性であったり、JavaScriptでのゲームやその他特別なアプリケーションなどパフォーマンスが重要な場合に使われます。日付ではなく、数値を減算するベンチマークCPUを必要とする機能について、信頼できるベンチマークが必要な場合は注意が必要です。2つの日付の差を計算する2つの関数を測定してみましょう。一方は日付の数値変換を当てにしています。これらの結果は常に同じです。どちらがより速いでしょうか?最初に思いつくアイデアは、それらを何度も連続で実行し、その時間の差を測ることです。我々のケースでは、関数はとてもシンプルなので、約10万回程度行う必要があります。言うと、この場合は型変換がなく、エンジンが最適化をするのがとても簡単なためです。私たちは測定結果を得ましたが、これはまだ良いベンチマークではありません。実行時までにはその作業が完了していたと想像してください。これは、現代のマルチプロセスOSでのよくある実際のシナリオです。上の場合、結果として最初のベンチマークは2回目よりも利用できるCPUリソースが少なくなります。これは誤った結果を導きます。信頼性の高いベンチマークを行うには、ベンチマーク全体を複数回再実行する必要があります。);現代のJavaScriptエンジンは、何度も実行される「ホットコード」に対してのみ高度な最適化を適用し始めます(ほとんど実行されないものを最適化する必要はないためです)。したがって、上記の例では、最初の実行は最適化されていません。bench(diffGetTime);}マイクロベンチマークをするのは気をつけてください現代のJavaScriptエンジンは多くの最適化を行います。比較して調整するかもしれません。非常に小さいものをベンチマークするときは特にそうです。従って、真面目にパフォーマンスを理解したいのであれば、JavaScriptエンジンの仕組みを学んでください。マイクロベンチマークは全く必要ないでしょう。文字列から日付を読むことができます。