2016-08-08 11 views
0

私のサーバーアプリケーションは、タイムスタンプ文字列をUTCで返します。JavaScript - タイムスタンプを日付に変換し、タイムスタンプに戻す

これを日付オブジェクトに変換してローカルのdatetimeを取得し、その日付オブジェクトをタイムスタンプに戻してローカルのタイムスタンプを取得したいとします。

出力両方の文字列が同一であるので、これは私がこれをうまくするにはどうすればよい

console.log(JSON.stringify(timestamp)); 
var date = new Date(timestamp*1000).getTime(); 
console.log(JSON.stringify(date)); 

動作するようには思えないのですか?

+0

var date = new Date(timestamp * 1000).getTime()はミリ秒単位で表します。 getTime()を削除するだけで、日付オブジェクト – jerry

+0

が表示されます。明らかに、同じものが出力されます...同じことをもう一度印刷しています! 「ローカルタイムスタンプ」と言ったら、クライアント側の時間を意味しますか? –

+0

サーバから取得しているサンプルタイムスタンプ値を私に提供することができます –

答えて

0

タイムスタンプを使用してDateの新しいインスタンスを作成する必要があります(これは、すでにフォーマット済みのdate-objectであると仮定します)。あなたのコードは次のようになります:

console.log(JSON.stringify(timestamp)); 
var date = new Date(timestamp); 
console.log(JSON.stringify(date)); 

出力が同じであれば教えてください。

0

私はこれが必要なものだと思います。 あなたは現在の時刻を取ってそれを変換し、必要な形式でサーバーに送り返す必要があります。

var timestamp = 1470621520; 
console.log(JSON.stringify(timestamp)); 
var date = Math.floor((new Date()).getTime()/1000); 
console.log(JSON.stringify(date)); 

コメントを1として、あなたができるローカルタイムゾーンにUTC時刻を変換するためのEDIT

var utcDate = 1470621520; 
var localDate = new Date(utcDate); 
console.log(localDate); 

これは自動的にローカルタイムゾーンの変換にUTCの世話をします。

+0

私はあなたが私の質問を誤解したと思います。つまり、UTCのタイムスタンプ(サーバーから受信したもの)をローカルタイムスタンプに変換して表示したいということです。 – nogias

関連する問題