2017-02-12 7 views
4

ノードの.jsとDateを使用して整数をDateに変換しようとしています。整数をnode.jsのDateに変換する

これは非常によくある質問ですが、これまでに投稿されたすべての解決策は私を助けてくれませんでした。私はhttp://api.guardian.gg/chart/elo/4611686018432537994で見つけJSONファイルから日付を取得しています

例日:14611.104億

私が試したもの:

var date = String(new Date(elodata.x)); 

var date = String(new Date(parseInt(elodata.x))); 

しかし、私は結果として無効な日付を取得します。

私はguardian.ggがどのようにこのデータを処理するのかわからないので、これは実行できない可能性があることを認識しています。しかし、あなたは決して知らない。

+0

全体(該当する)コードを記載してください。特に 'elodata'があなたのコードにあるものを決定する部分です。私の腸は何とかあなたのエラデータが配列全体を参照していると私に伝えます。 – Thomas

答えて

3

であるように思われる整数(ある場合は、JavaScriptでDateコンストラクタに直接値を渡すことができます。同様に

var date = new Date(elodata.x); 

、あなたはまた、JavaScriptにでsetTime()機能を使用することができます

var date = new Date(); 
d.setTime(elodata.x); 

01:あなたはすでに既存のオブジェクトを持っている場合は、あなたの整数値を渡します

var d1 = new Date(1461110400000); 
 
console.log(`Constructor: ${d1}`); 
 

 
var d2 = new Date(); 
 
d2.setTime(1461110400000); 
 
console.log(`setTime(): ${d2}`);

+0

ありがとうございます。それは完璧に動作します! –

1

それが解析される文字列だ場合、単一の引数は、Dateコンストラクタに渡されます。その結果は実装に依存しますが、1461110400000が文字列の場合は、無効な日付が返されます。

数値が指定されている場合、それは時間値として扱われます。

var timeValue = '1461110400000'; 
 
console.log(new Date(+timeValue));

ます。またNumber(timeValue)またはparseInt(timeValue)が、単項+を使用することができます入力する以下です:あなたは数を渡しているのであれば、それは数値を入力しますことを確認してください。

関連する問題