1

日付を含む文字列があり、それを変換したくありません。

var startDate = "March-09-2010"; 
var convertedStartDate = new Date(startDate); 
var month = convertedStartDate.getMonth() + 1 
var day = convertedStartDate.getDay(); 
var year = convertedStartDate.getFullYear(); 
var shortStartDate = month + "-" + day + "-" + year; 
alert(shortStartDate);

2010年 3 月 9 日09-03-10 (DD-MM-YY)に変換するようにしたい

私が間違っていることを知っている人はいますか?

4

7 に答える 7

1

これを試して:

var dt=Date.parse(Yourstring);

formatDate('DD-MM-YY',dt);

このDate.parseを確認してください

于 2012-06-01T04:45:41.333 に答える
1
var startDate = "March-09-2010"; 
var convertedStartDate = new Date(startDate.replace(/-/g, "/")); // replace hyphen with slash
var month = convertedStartDate.getMonth() + 1 
var date = convertedStartDate.getDate(); 
var year = convertedStartDate.getFullYear(); 
var shortStartDate = date + "-" + month + "-" + year; 
alert(shortStartDate);

デモ: http://jsfiddle.net/BjnBW/

于 2012-06-01T05:01:57.760 に答える
0
var shortStartDate = 
  Globalize.format(Globalize.parseDate(startDate, 'MMMM-dd-yyyy'), 'dd-MM-yy');

組み込みの Date.parse() は実装に依存するため、何らかのライブラリを使用して変換を行います。受け入れる形式は、システム ロケールによって異なります。

上記のコードは Globalize.js を使用しており、さまざまな言語 (デフォルトは英語) の月名の形式を含む、多数の日付形式を処理できます。

于 2012-06-01T05:27:28.733 に答える
0

日付文字列の形式が正しくありません。正しい形式については、 https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Dateを参照してください

これまたはjsfiddleを試してください

var startDate = "March-09-2010";
var tmp = startDate.split('-');
tmp.splice(1, 0, ',');
var convertedStartDate = new Date(tmp.join(' '));
var month = convertedStartDate.getMonth() + 1
var day = convertedStartDate.getDate();
var year = convertedStartDate.getFullYear();
var shortStartDate = ('0' + day).slice(-2) + "-" + ('0' + month).slice(-2) + "-" + year;
alert(shortStartDate);
于 2012-06-01T04:50:11.160 に答える
0

構文がコードを少し変更したことを確認し、それに応じて変更します ---

var startDate = "March/09/2010";
var convertedStartDate = new Date(startDate);
var month = convertedStartDate.getMonth() + 1
var day = convertedStartDate.getDate();
var year = convertedStartDate.getFullYear();
var shortStartDate = day+ "-" + month+ "-" + year;
alert(shortStartDate);
于 2012-06-01T04:56:20.400 に答える
0

getDateFromFormat()JavaScript で文字列を日付に変換するために使用します。

詳細については、このリンクを確認してください: http://www.mattkruse.com/javascript/date/

于 2012-06-01T04:57:48.753 に答える
0

「3 月」を数値に変換する必要があります。1 つの方法は、この Array 拡張機能を使用して、月名から月番号を取得できるようにすることです。

Array.prototype.enum = function(){
     var obj = {};
     for (var i=0; i<this.length; (i+=1)) {
        obj[this[i]] = i;
     }
     this.enum = obj;
     return this;
};

今、月の名前を持つ配列を作成します

var months = ('January,February,March,April,May,June,July,'+
             'August,September,October,November,December').split(',')
              .enum();

次に、日付を書き換えます。

var startDate = "March-09-2010".split(/\-/),
    month     = months.enum[startDate[0]]+1;
startDate     = [startDate[1],
                 month < 10 ? '0'+month : month,
                 startDate[2]].join('-');
//=> startDate now is: '09-03-2010'
于 2012-06-01T06:04:28.990 に答える