0

タイムスタンプのタイムゾーンを moment-timezone で変更しようとしており、適用されたオフセットで変更された値を取得したい

var newTimestamp = momentTz.tz(timestamp, 'Europe/Berlin')

だからここに私が試すものがあります

    var results = {};

    for (var timestamp in timestamps) {
         var commitCount = timestamps[timestamp];
         console.log(typeof timestamp)
         console.log(timestamp)
         console.log(moment(timestamp).format())
         //console.log(moment.tz(timestamp, 'Europe/Berlin'))
         //results[ moment.tz(timestamp, 'Europe/Berlin')] = commitCount;
   };

ここにログのスニペットがあります

string
1528063200
Invalid date

新しいタイムスタンプを取得するにはどうすればよいですか?

4

1 に答える 1

0

あなたの値は、秒単位のUnix Timetimestampを含む文字列のようです。フォーマット指定子を使用してすぐに解析できます。X

ただし、タイム ゾーンに合わせて調整されたこの形式のタイムスタンプを取得することはできません。これは、Unix Time の値が常にUTC に基づいているためです。彼らがタイムゾーンにいることは無意味です。そのような値はエラーになります。

ただし、 ISO 8601などの文字列ベースの形式を発行することはできます。これは、関数に引数を指定しない場合の既定値です。format

要するに:

moment.tz('1528063200', 'X', 'Europe/Berlin').format() //=> '2018-06-04T00:00:00+02:00'
于 2018-06-05T16:10:57.030 に答える