2017-03-26 6 views
-3

この形式のデータを2011年3月26日のこの形式から2017-03-26に、フォームIDからデータを取り出すことから変換する必要があります。JavaScriptで日付を変換する

私はこれを試しましたが、今は失われています。

var dataform = "26/03/2017"; 
 
var dataora = new Date(dataform); 
 

 

 
var G = dataora.getDate(dataform); 
 
var M = (dataora.getMonth(dataform) + 1); 
 

 

 
if (G < 10) 
 
{ 
 
\t var mm = "0" + dataora.getDate(dataform); 
 
} 
 
else 
 
{ 
 
\t var mm = dataora.getDate(dataform); 
 
} 
 

 
if (M < 10) 
 
{ 
 
\t var gg = "0" + (dataora.getMonth(dataform) + 1); 
 
} 
 
else 
 
{ 
 
\t var gg = (dataora.getMonth(dataform) + 1); 
 
} 
 

 
var aa = dataora.getFullYear(dataform); 
 

 
var data = aa + "-" + mm + "-" + gg; 
 

 
console.log(data); 
 
console.log("Year "+aa); 
 
console.log("Month "+mm); 
 
console.log("Day "+gg);

出力は次のとおりです。

私は間違っ
2019-03-02 

Year 2019 
Month 03 
Day 02 

+3

[momentjs](https://momentjs.com)を使ってデータ形式を変換することをお勧めします。 –

+1

あなたはこれを大いに思っています。 'var input =" 26/03/2017 ".split( '/'); var出力=入力[2] + ' - ' +入力[1] + ' - ' +入力[0]; ' – JJJ

答えて

0

文字列を解析するためにDateコンストラクタ(またはDate.parse)を使用しないでください。これは主に実装に依存し、ホストによって異なります。 Why does Date.parse give incorrect results?

Sagar Vの回答ごとに、文字列を再フォーマットするだけです。

1
  • splitの機能を使用して/を使用して日付を分割します。
  • reverse関数を使用してそれを逆にする
  • join関数を-で使用して結合します。

これだけです。私は間違っ

var date="26/03/2017"; 
 
date=date.split("/").reverse().join("-"); 
 
console.log(date);

+0

素晴らしいです!ありがとう –

関連する問題