時間の差 - javascript
2014/01/18
javascript
javascriptです。
javascriptもいろいろあってむずかしいなと。
ここから以下の情報はまちがってる可能性ある....
単純に時間の差を求めたいのですが
たとえば
var date1 = new Date(2013, 1, 1);
var date2 = new Date(2013, 1, 2);
とあって、
var diff1 = date2.getTime() - date1.getTime();
これかなと思ってたのですが、
var diff2 = date2 - date1;
こういうふうにも書けるみたい。
演算子がそのまま使える?
ためしたのはosxのsafari上だけど、jquery使ってたからごにょごにょしてくるのかしらと思ったけど、jqueryなしでもどうも計算してくれているっぽい。(※jqueryが何してくれてるのか理解してないので(笑))
で,"+"だと、toStringの値を計算したので、"-"演算子だけなんか時間の差をもとめてくれる感じ。
これは、どんなブラウザでもそうのかしら?
osxでのfirefoxでも同じ動きしたけど。
確証ないと、単純にdateオブジェクトの引き算使うのこわいな-
で、
JavaScript 第6版
David Flanagan 村上 列
なんか調べてみると、Date型は、やはり演算子によって、扱う型を暗黙的に変換してるよう。
-演算子はオペランドを数値に変換します。
とあった。
これはjavascriptのバージョンによって取り入れられたものなのか、初期の頃からそうなのか気になるところ。
昔(初期の版)からそうなら、マイナス演算子使うときわざわざgetTime()を書く必要なくて、面倒な書き方がでまわってたのかなと。
結論として
時間の差をもとめる場合は、getTimeを使わなくてよいでOK?
: