2017-01-27 6 views
-1

JavascriptでこれがMath.pow(10,12)または1000000000000で解決され、Math.pow(10,9)または1000000000ではない理由を教えてください。 Rubyではとても明確でJSで混乱しています。私のJSソリューション:演習Javascript Gigasecond - 私は数学を理解していません

var gigDate = Math.pow(10, 12); 

function Gigasecond(dateIn) { 
    this.dateIn = dateIn 
}; 

Gigasecond.prototype.date = function(){ 
    return new Date(this.dateIn.getTime() + gigDate); 
}; 

module.exports = Gigasecond; 

私のRubyコード:

class Gigasecond 
    VERSION = 1 
    def self.from(date) 
    date + (10**9) 
    end 
end 
+0

もっと説明できますか...あなたは何をしようとしていますか? – evolutionxbox

答えて

2

おそらく細かいマニュアルの読書のビットが役立つだろう。 JavaScriptが、getTime returns millisecondsで:

Date.prototype.getTime()
[...]
ミリ秒を表す数値は、1970年1月1午前0時00分00秒との間の経過
戻り値UTCと指定された日付。

しかし、ルビー、Time#+ expects to see secondsでRHS上:

時間+数値→時間
追加は - 時間を秒のいくつかの数(おそらく端数)を追加し、新規として、その値を返します。時間オブジェクト。

違いが1です。

異なる言語、標準ライブラリのさまざまなインターフェイスは、非常に簡単です。

+0

ありがとう - 私は結局そこに着いたが、確かに混乱していた!お手伝いありがとう。 – Laurie

関連する問題