2

JSON形式で返されたWebサービスから日付を変換するために、うまく機能する関数があります。Web サービスは、次のタイプの形式で日付を提供します。

データ例: json データでは日付は次のようになります

\/Date(1373875200000)\/

現在の機能:これは私が持っている現在の機能です

function HumanDate(date) {

    var jsondateString = date.substr(6);
    var current = new Date(parseInt(jsondateString));
    var month = current.getMonth() + 1;
    var day = current.getDate();
    var year = current.getFullYear();
    var hour = current.getHours();
    var minute = current.getMinutes();
    var datetime = day + "/" + month + "/" + year + " " + hour + ":" + minute

    return datetime;

}

使用法:これは私が上記の関数を使用する方法です

success: function(data) {

    if (data.d[0]) {
        $.each(data.d, function(index, data) {

            $("body").append(HumanDate(data.from) + '<br />');

        });
    } else {

現在の出力:これは私が現在取得している出力です。0 がないことに注意してください。

2/7/2013 9:0
15/7/2013 9:30
15/10/2013 10:0
15/11/2013 10:30

予想される出力:これは私が望む出力です。余分な 0 に注意してください

02/07/2013 09:00
15/07/2013 09:30
15/10/2013 10:00
15/11/2013 10:30

質問:

期待される出力の例のように書式設定された日付と時刻を取得するにはどうすればよいですか?

4

3 に答える 3

2

この種のことにはライブラリを使用することをお勧めします-Moment.jsのようなものは仕事を完璧に行います(そして、日付の加算/減算などのより多くの機能を掘り出し物に提供します)。

moment.js を使用すると、コードは次のようになります。

function HumanDate(date) {
    return moment(date).format('MM/DD/YYYY HH:mm');
}

使用例:

alert(HumanDate("\/Date(1373875200000)\/"));
//alerts "07/15/2013 09:00"

それが役立つことを願っています。

于 2013-08-01T14:43:19.160 に答える
1

moment.jsを試すこともできます。日付をフォーマットするための 6.5kb ライブラリ

var m = moment( new Date() );
m.format( "DD/MM/YYYY HH:mm");
于 2013-08-01T14:41:16.267 に答える