...なんてものが必要になる日がくるのか分かりませんが、現在時刻のDateオブジェクトから、自分の生年月日のDateオブジェクトを引き算すると簡単に求められます。
birth.js
var now = new Date(),
birthDay = new Date(1991, 8 , 18); //僕の誕生日です
var past = (now - birthDay)/1000;
console.log(past);
ここで注意が必要なのは、new Date(year, month, date)
するときのmonth
は zero origin だということです。そのため、僕の場合1991年9月18日生まれですが、month
には8を渡しています。
現在時刻now
と誕生日birthDay
が作れたら、now
からbirthDay
を引くと、誕生日から現在時刻までの経過時間がミリ秒で返ってきます。今回知りたいのは秒数なので、1000で割っています。
イマイチ実用感が無いですが、Dateオブジェクトの引き算は使いどころを選べばとても便利です。たとえば、Web Audio APIなんかと組み合わせて、トラックの再生時間を動的にコントロールしたりとかできますね。こういう組み込みオブジェクトを上手く使えるとかっこいいなー、と思います。