2016-10-26 4 views
-5

jquery/Javascriptを使用する1111-2016-10-26 INTO 1111 - 10/26/2016形式の値を変換するにはどうすればよいですか?Jquery:1111-yyyy-mm-ddを1111-mm/dd/yyyyに変換するには

私は以下のコードを試しましたが、役に立たなかったです。

var date = new Date('2010-10-11'); 
alert((date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear()); 
+0

問題は何ですか?数字が少し難しいのはどういう意味ですか? – James

+0

@Jamesは私の質問を更新します。誰も-5マイナス評価の背後にある理由を知ってもらえますか?、ちょうど同じことを繰り返さないように頼んでください。 –

答えて

2

日付の検証なしで変換する場合は、文字列関数を使用して変換できます。または、日付関数を使用する場合は、文字列を分割した後にその文字列のその部分にのみ適用します。何もない。

Dateオブジェクトを作成するときに通常のDateコンストラクタ(year,[month,[date...]])を使用します。非標準形式を渡すことは推奨されません。実装はブラウザに依存します。

var string = "1111-2016-10-26"; 
 
var a = string.split('-'); 
 
var number = a[0]; 
 
var date = a[2] + '/' + a[3] + '/' + a[1]; 
 
console.log(number + '-' + date);

var string = '1111-2010-10-11'; 
 
var a = string.split('-').map(Number); 
 
var date = new Date(a[1], a[2] - 1, a[3]); 
 
var dateString = ((date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear()); 
 

 
console.log(a[0]+ '-' + dateString);

+0

良い答えですが、 '.map(Number)'ビットは2番目のコードスニペットでは冗長です。 ;-) – RobG

+0

@RobG Dateコンストラクタで使用する前に文字列を数値に変換することを意図していました。それがなければ私たちは '+ a [1]'をすることができると思いますか? – sabithpocker

+0

複数の引数を渡すときに文字列を数値に変換する必要はありませんが、数値に変換されます([* ECMA-262§20.3.2.1ステップ3 *](http://ecma-international.org/ ecma-262/7.0/index.html#sec-date-year-month-date-hours-minutes-seconds-ms)を入力します。 – RobG

関連する問題