2016-08-25 8 views
0

私はこのギモーメントのタイムゾーン形式

Mon Aug 22 23:32:59 +0000 2016 

に、次の時刻と日付を持っていると私はそれが無効な日付を与えます)しかし、ロサンゼルスの時刻にAを、それを変換します。 B)最後のパラメータ "UTC"を削除すると、適切な時間が得られますが間違った分が出力されます。

var a = moment.tz("Mon Aug 22 23:32:59 +0000 2016", "ddd MMM DD HH:MM:SS ZZ YYYY", "UTC"); 
     var b = a.tz("America/Los_Angeles"); 
     console.log(b.format("YYYY-MM-DD HH:MM A")); 

を次のように私は一瞬の時間帯にそれを渡しています。しかしその私にInvalid dateを与え、私は問題を把握することができません。 任意の明確化が が無効な日付の問題

var a = moment("Mon Aug 22 23:32:59 +0000 2016","ddd MMM DD HH:mm:ss ZZ YYYY"); 

はまた、私は資本HHとMMはなく、HHを使用していたという事実に起因した瞬間の問題を、固定された固定役に立つ

UPDATEだろう:mm私は使用していたはずです。

+1

Cでは、日は 'dd'と月 'mm'、分は 'MM'と秒 'SS'となります。私は8月が8月であることに注意します。あなたのマスクの文字の大文字と小文字を再度確認してください。 –

答えて

2

the documentationによると、フォーマット文字列が間違っています。 mmは分のトークンである一方、

console.log(b.format("YYYY-MM-DD HH:mm A")); 

それはMM(大文字M)として、分08を示したが、数ヶ月のためにトークン(8月= 08)です。これはInvalid dateの理由でもあり、月を分として解析しようとしましたが、できませんでした。更新では、あなたの大文字は正しいです。

+0

うん、私はそれを得た:)ありがとう – user3676224

1

これは私の端末で動作します:あなたのコードで何が悪い

var a = moment.tz("Mon Aug 22 23:32:59 +0000 2016", "ddd MMM DD HH:mm:ss Z YYYY", "UTC"); 
var b = a.tz("America/Los_Angeles"); 
console.log(b.format("YYYY-MM-DD HH:mm A")); 

は、二分で、一部相殺されました。 http://momentjs.com/docs/#/parsing/string-format/

関連する問題