0

これを行うために使用している現在のコードは次のようになります。

x3 = new Date(x1.value).format('yyyymmdd');

これは、優れた Internet Explorer を除いて、Firefox、Chrome、および一般的に他のすべてでうまく機能します。

次のような他のコードを試しました...

<script>

function parseISO8601(dateStringInRange) {
    var isoExp = /^\s*(\d{4})-(\d\d)-(\d\d)\s*$/,
    date = new Date(NaN), month,
    parts = isoExp.exec(dateStringInRange);

    if(parts) {
      month = +parts[2];
      date.setFullYear(parts[1], month - 1, parts[3]);
      if(month != date.getMonth() + 1) {
        date.setTime(NaN);
      }
    }

    alert(date);
    return date;

}   

parseISO8601('2013-01-21'); 

</script>

これはすべてのブラウザーで機能しますが、次のような出力が得られます.....

Mon Jan 21 2013 00:00:00 GMT+0000 (GMT Standard Time)

私が本当にこのように見える必要があるとき

20130121

誰かがこの問題を抱えていて、それを解決する方法を見つけましたか???

4

1 に答える 1

1

ここで関数を使用して、関数から返された日付から新しい文字列を作成します。

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date

getDate()、getMonth() などを探しているはずです。

例:

var toConvert = parseISO8601('2013-01-21');
var newForm = toConvert.getYear().toString()+toConvert.getMonth().toString()+toConvert.getDate().toString();

次に、整数形式の newForm が必要な場合は、単に parseInt(newForm); を実行します。

于 2013-01-16T10:31:14.223 に答える