0

次の日付形式を読みやすくする軽量な方法を探しています。

04OCT2013

理想的には出力したいと思います:

4 October 2013

どんな助けでも本当に感謝します、ありがとう!

4

6 に答える 6

1

最初に文字列を解析してから、その部分をフォーマットする必要があります。これには本格的なライブラリを使用するか (いくつかあります)、2 つの単純な関数を自分で記述できます。

var shortMonths = ["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dez"],
    longMonths = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
function parse(datestring) {
    var date = parseInt(datestring.slice(0,2), 10),
        month = shortMonths.indexOf(datestring.slice(2,5).toLowerCase()),
        year = parseInt(datestring.slice(5,9), 10);
    return new Date(year, month, date);
}
function format(date) {
    return [date.getDate(), longMonths[date.getMonth()], date.getFullYear()].join(" ");
}

> format(parse("04OCT2013"))
"4 October 2013"
于 2013-10-04T11:10:00.790 に答える
0

moment.jsで試すことができます

<script src="//cdn.jsdelivr.net/momentjs/2.0.0/moment.min.js"></script>

var date = new Date("04OCT2013");
var newDate = moment(date).format("DD MMMM YYYY");

alert(newDate);

JS フィドルのデモ

于 2013-10-04T11:03:53.767 に答える
0
 var months= [ "January", "February", "March", "April", "May", "June", "July", "August",  "September", "October", "November", "December" ];
 var d = new Date();
 var desc = d.getDate() + ' ' + months[d.getMonth()] + ' ' + d.getFullYear();

しかし、date.js またはより良い moment.js をお勧めします。

于 2013-10-04T11:08:29.907 に答える
0
var now = new Date();
var monthNamesL = [ "January", "February", "March", "April", "May", "June",
                    "July", "August", "September", "October", "November", "December" ],
    monthNamesS = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun",
                    "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ];

var dateFmtd = monthNamesL[now.getMonth()] + ' ' + now.getDay() + ', ' + now.getFullYear();
alert(dateFmtd);
于 2013-10-04T11:09:00.390 に答える
0

Jsut は文字列を少しフォーマットし、組み込みのDate 型を parseで使用します。

var myString = "04OCT2013";

次に、最初の文字と最後の 4 文字と月を部分文字列で取り出して、以下のような組み込みのパーサーを使用できるようにします。

Date.parse("Aug 9, 1995");

独自の月の配列を作成する必要はありません。

于 2013-10-04T11:49:45.470 に答える