moment.js で RFC2822 の日付を変換しようとすると、「非推奨の警告: moment の構築は js Date にフォールバックします」というメッセージが表示される 質問する

moment.js で RFC2822 の日付を変換しようとすると、「非推奨の警告: moment の構築は js Date にフォールバックします」というメッセージが表示される 質問する

moment.js を使用してサーバー側の日付と時刻をローカル時刻に変換するために、次のコードを使用しています。

 moment(moment('Wed, 23 Apr 2014 09:54:51 +0000').format('lll')).fromNow()

しかし、私は次のことを得ています:

非推奨の警告: モーメント構築は js Date にフォールバックします。これは推奨されず、今後のメジャーリリースで削除される予定です。https://github.com/moment/moment/issues/1407詳細については。

取り除くことができないようです。どうすれば直せますか?

ベストアンサー1

警告を取り除くには、次のいずれかを行う必要があります。

  • 日付文字列の ISO 形式バージョンを渡します:

    moment('2014-04-23T09:54:51');

  • 現在持っている文字列を渡しますが、その文字列の形式を Moment に伝えます。

    moment('Wed, 23 Apr 2014 09:54:51 +0000', 'ddd, DD MMM YYYY HH:mm:ss ZZ');

  • 文字列を JavaScript Date オブジェクトに変換し、それを Moment に渡します。

    moment(new Date('Wed, 23 Apr 2014 09:54:51 +0000'));

最後のオプションは、Moment が現在サポートしている組み込みのフォールバックで、非推奨のコンソール警告が表示されます。将来のリリースではこのフォールバックはサポートされないとのことです。使用するとnew Date('my date')予測不可能すぎると説明しています。

おすすめ記事