問題質問:日付文字列(任意のフォーマット31/10/93
または10/31/93
または93/10/31
)を使用していて、これを日付オブジェクト(UTC形式)に変換する必要があります。momentjsを使用する日付文字列
momentjsを使用してこれを行う方法は?
私が試したものmoment.utc(date)
しかし結果はありません。
これを行う方法についてのご意見はありますか?
問題質問:日付文字列(任意のフォーマット31/10/93
または10/31/93
または93/10/31
)を使用していて、これを日付オブジェクト(UTC形式)に変換する必要があります。momentjsを使用する日付文字列
momentjsを使用してこれを行う方法は?
私が試したものmoment.utc(date)
しかし結果はありません。
これを行う方法についてのご意見はありますか?
hereを説明するように、複数のフォーマットで文字列を解析することができます詳細は、次のセクションを参照してください。
必要な場合は、ロケールパラメータも渡すことができます。これは、あなたが一例として与えた入力のための細かい動作しますが、あなたに01/02/93
のような入力のunexepcted結果を与える可能性があり
var arr = ['31/10/93','10/31/93','93/10/31'];
for(var i=0; i< arr.length; i++){
var m = moment.utc(arr[i], ['DD/MM/YY', 'MM/DD/YY', 'YY/MM/DD']);
console.log(m.format('DD MMMM YYYY')); // 31 October 1993
}
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
:
次のコードでは、あなたの質問に可能な解決策を示しています。この文字列は、1 February 1993
と2 January 1993
の両方を表すことができます。ドキュメントに記載されているように、ので
示唆コードは01 February 1993
を示すであろう。
モーメントが使用するフォーマットを決定するためにいくつかの簡単なヒューリスティックを使用します。順序:
よりも早く、アレイ内の形式を好みます。あなたのコメントの後
、私はmoment.localeData()
を使用して"ローカライズ"フォーマットを取得することをお勧めすることができます。 longDateFormat('L')
を使用すると、ローカライズされた書式文字列を取得し、解析関数で使用できます。たとえば、longDateFormat('L')
は、us
ロケールでMM/DD/YYYY
、it
でDD/MM/YYYY
を返します。コードサンプル:動的
var s = '01/02/93';
function formatSample(s){
var ldf = moment.localeData().longDateFormat('L');
return moment.utc(s, [ldf, 'YY/MM/DD']).format('DD MMMM YYYY');
}
moment.locale('us');
formatSample(s); // 02 January 1993
moment.locale('it');
formatSample(s); // 01 febbraio 1993
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment-with-locales.min.js"></script>
あなたの答えは十分です!しかし、私はmomentに 'moment.local()'を見て、日付をUTCに変換するために使用するフォーマットを特定するものがあることを願っています。 – GeekOnGadgets
@GeekOnGadgetsあなたのコメントであなたが説明したことをあなたに伝えようと私の答えを更新しました。 – VincenzoC
'2016年2月2日 'をローカルのユーザー日付形式に変更するにはどうすればよいですか? 「DD/MM/YYYY」や「MM/DD/YYYY」や「YYYY/MM/DD」のように – GeekOnGadgets
あなたがフォーマットを知らないのであれば、あなたはそれを知ることができません。 1/2/93は最初にjanの2番目または2番目にすることができるので、 モーメントコンストラクタの形式を指定する必要があります。 moment.jsがあなたのためにこれを正しく決定する方法はありません。
は缶瞬間テイク形式?地方を渡すことによって? – GeekOnGadgets
あなたは、文字列を解析して次のようにモーメントオブジェクトに変換するたびに、フォーマットを与えます:モーメント( "12-25-1995"、 "MM-DD-YYYY"); – sagie
http://stackoverflow.com/questions/23299950/convert-date-to-utc-using-moment-js – vikramjb