2016-10-20 10 views
1

は、私は、以下の方法を使用してUTCの日付にローカルの日付に変換するためにMomentJSを使用: MomentJSを使って日付をタイムスタンプに変換するには?

$("#div1").text(moment("2016-10-11 18:06:03").tz("Europe/Paris").format());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data.min.js"></script> 
 

 
<div id="div1"></div>

は、今私はMomentJSを使用して出力値からタイムスタンプを必要とします。

+0

Unixのタイムスタンプに値を入れたいですか? –

答えて

6

あなたが言った:

は、私は、以下の方法を使用してUTCの日付にローカルの日付に変換するためにMomentJSを使用: moment("2016-10-11 18:06:03").tz("Europe/Paris").format()

T帽子はそれをしません。これは、ローカル時刻の値をパリ時刻に変換し、ISO8601形式の文字列として出力します。

ここでは、MomentJSを使用して出力値からタイムスタンプが必要です。あなたは、出力文字列からタイムスタンプを取得することはできません

  1. 、あなたはmomentからそれを得るだろう:ので、別の問題だ、と上記の出力を伴わないだろう

オブジェクト。 その文字列をのように解析することはできますが、既にmomentというオブジェクトがあるため、それは愚かなことになります。

  • タイムスタンプはUTCベースなので、タイムゾーン変換は関係ありません。あなたが全く変換しなければ、同じタイムスタンプを得るでしょう。

  • あなたが対象となる精度に応じて、.format('X').format('x')を使用してタイムスタンプを持つ文字列を取得することができます。しかし、数値精度のタイムスタンプを得るには、.valueOf()または.unix()という精度を使用してください。

    これはドキュメントのALLです。

    +0

    これは私のために働いた:var dt = moment(timestamp).tz( 'Europe/Paris')。format( 'YYYY-MM-DD HH:mm:ss'); – Asmi

    11
    moment().format("X"); // lowercase 'x' for miliseconds 
    

    var date = moment('2016-10-11 18:06:03').tz('Europe/Paris').format(), 
     
        timestamp = moment(date).format("X"); 
     
    
     
    $('#div1').text(date); 
     
    $('#timestamp').text(timestamp);
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script> 
     
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script> 
     
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data.min.js"></script> 
     
    
     
    <div id="div1"></div> 
     
    <div id="timestamp"></div>

    関連する問題