これは明瞭にするために、角を使っていくつかのデータバインディングを行うためにmoment.jsを使用していますmoment.jsはtimezooneへの入力の時間を変更していますが、すでにそのタイムゾーンになっています
$scope.resolveTime = function() {
var m = moment.tz($scope.inputTime, 'America/Los_Angeles');
$scope.inputTime = m;
var zone = jstz.determine();
$scope.outputTime = m.tz(zone.name()); // Convert CDT to local time
console.log("inputtime: " + $scope.inputTime.format())
console.log("local: " + $scope.outputTime.format())
};
私はそれが十分に簡単だろうと思ったが、イム何推測が起こっているが、その後becasue、私はinputTimeを渡し、瞬間を教えてくれたときに、それがその後、PDTに現在のローカル時間に変換America/Los_Angeles
だのではなくPDTに設定することをあります以下のコードは、それをローカルのタイムゾーンに変換して戻します。その結果、両方の変数に同じ数字が返されます。誰もがこれを回避する方法を知っていますか? 結果はユーザーが時間を(PDTで)入力し、ユーザーの現地時間の何時に表示されるはずです。
アップデート:この多くの私はそれが実際にローカルでDateオブジェクトに入力を変更する私の時間ピッカーだと思う、私が使用していた時間ピッカーが参照
を、瞬間は、最初にそれを使用して、タイムゾーンに変換されますあなたが指定した。各ステップの前後にいくつかのロギングを追加して、値がどのように変更されているかを正確に見ることができます。 –
それは意味がありますが、私はちょうど '$ scope.inputTime = moment.tz( 'America/Los_Angeles')を初期化しようとしました;そして、私がログを記録しても私のローカルタイムを取得していますが、日付フォーマットは瞬間ではありません。私は角度の可能性があると感じているそれを再フォーマット – Toxicable
私はそれが実際に私の時間ピッカーがそれをやっているかもしれないと思う。 Im Angular UIを使用してBoostrap時間ピッカー、私は自分自身を再登録する必要があるように見える – Toxicable