2017-03-03 6 views
-1

安全にモーメントライブラリを使用することに関する情報hereを参照してください。私はこの記事を使って、jQueryライブラリをアップグレードするプロセスの一環としてライブラリの使用を取り除いてきました。安全に日付操作に使用する

私はこれが安全である知っている、そしてそれは、私が参照記事で確認されています、私はリンク先の記事の文脈では

var now = moment(new Date()); 

var m = moment($('#fromDate').val(), 'MM/DD/YYYY'); 

は、このコード行を考えてみましょうこれは受け入れられるか、より安全なアプローチですか?

洞察力、記事などは非常に高く評価されます。

+3

http://momentjs.com/docs/#/parsing/now/あなたが知る必要があることをすべて教えてください。あなたは単に 'var now = moment()'を実行できます。 'new Date()'はまったく必要ありませんが、そうした場合はうまくいくはずです。 – ADyson

+0

申し訳ありません「参照ポイント」とはどういう意味ですか? – ADyson

+2

そのリンクで、私はあなたに与えました、それは非常に明確に言う: 'var now = moment();これは本質的に呼び出すモーメント(new Date())と同じです。 – ADyson

答えて

3

http://momentjs.com/docs/#/parsing/nowあなたが知る必要があることをすべて教えてください。 var now = moment()とするだけでいいです。 new Date()の必要はありませんが、そうした場合はうまくいくはずです。

あなたがリンクしているGitHubの問題は、文字列を解析することに関するもので、「Date」オブジェクトをモーメントコンストラクタに渡すこととは関係ありません。関係ありません。基本的には、理解できない文字列を渡すと、JSのデフォルトの日付オブジェクト(つまり、Dateコンストラクタに文字列を渡したようなもの)によって使用されるパーサーを使用することに戻り、不確実な動作になりがちです。

new Date()がオブジェクトを作成し、あなたが文字列を解析(したがってに変換しようとしている場合は、2番目の「フォーマット」引数のみが必要とされているので、

var now = moment(new Date(), 'MM/DD/YYYY'); 

のあなたの提案が意味をなさない

オブジェクト)。