「Dateオブジェクトには、日付や時刻を加算したり減算したりするメソッドは用意されていません。このため、加算や減算を行うには、次の手順が必要になります」
「それでは、実際に日時の加算と減算を行ってみましょう」
「では、現在の日時を取得して、月の加算、日の減算、時間の減算を順に実行してみますね」
「DateオブジェクトのgetTime()メソッドを使うと、1970年1月1日0分0秒00からの経過時間をミリ秒単位で取得することができます」
「1970年の日時が基準になるわけですね」
「さらにparse()メソッドを使用すると、()内で指定した日時までの経過時間をミリ秒単位で取得することができます」
「getTime()とparse()の2つのメソッドを使うことで、指定した日時までの経過時間や日数を求めることができます。ここでは、次の手順で経過日数を求めることにしましょう」
「getTime()で求めた現在までの経過時間からparse()で求めた特定の日までの経過時間を引けば、特定の日から現在までの経過時間がわかるってわけですね。では、(1)から(5)までの手順に従ってコードを書いていきます」
「取得した時間はミリ秒単位なので、最後に『millis / 1000 / 60 / 60 / 24』という割算を行っています。まず1000で除算することでミリ秒を秒単位にし、続いて60で除算して分単位、さらに60で除算して時間単位、そして最後に24で除算することで日数にしました」
「最終的に小数点以下の端数が出るので、これをceil()メソッドで切り捨てていますね」
「指定する過去の日時は、1970年1月1日0分0秒00を基点にしているので、分以下の値はすべて0になります。これを現在の日時から引くと『経過した日数+今日の0:00からの経過時間』となりますが、今日の0:00からの経過時間は余分な値です。このため、小数点以下を切り上げてしまうと1日多くなるので、ceil()メソッドで切り捨てるというわけです」
「なるほど(あれ? いつもと逆だ……)」
JavaScript Web開発パーフェクトマスター
金城俊哉著
秀和システム 3,672円
JavaScriptは、Webアプリ開発の定番言語です。本書は、JavaScriptの初学者向けにWebアプリ開発に必要なノウハウを、ボトムアップ方式で基礎から応用までやさしく解説します。
若手プログラマーが講師となって、JavaScript未体験のエンジニアに手ほどきをするというペアプロ形式で説明していくので、プログラミングスクールで1対1のレッスンを受けている感覚で読み進めていただけます。開発現場ですぐに役立つ技が満載です!
Copyright © ITmedia, Inc. All Rights Reserved.