0

ここにコードとプレビューがあります>> http://jsfiddle.net/shingou/PGFxZ/

ご覧のとおり、これにはjquerymobileとjquerydateboxプラグインを使用しました。これらの日付の違いを取得するためのコードがここにあります。

function parseDate(str) {
    var mdy = str.split('/')
    return new Date(mdy[2], mdy[0]-1, mdy[1]);
}

function daydiff(checkinDate, checkoutDate) {
    return (checkoutDate-checkinDate)/(1000*60*60*24)
}
$('#checkoutDate, #checkinDate').live('change', function() {
    $('#numNights').each(function() {
        $(this).text(daydiff(parseDate($('#checkinDate').val()), parseDate($('#checkoutDate').val())));
    });
});

ここで日付形式を変更すると、明らかになります。

jQuery.extend(jQuery.mobile.datebox.prototype.options, {
    'dateFormat': 'mm/dd/YYYY',
    'headerFormat': 'mm/dd/YYYY',
});

たとえば、次のようにします。

jQuery.extend(jQuery.mobile.datebox.prototype.options, {
    'dateFormat': 'ddd, dd mmm YYYY',
    'headerFormat': 'ddd, dd mmm YYYY',
});

範囲の日付の違いはNaNになります。

事前のおかげで、これに関する解決策は本当に役に立ちます。

4

1 に答える 1

2

Dateboxには.data('datebox').theDate、入力から日付を取得する機能があるため、解析する必要はありません。

それに応じてあなたのフィドルを変更しましたhttp://jsfiddle.net/PGFxZ/3/

于 2012-01-04T09:41:17.227 に答える