0

daterangepicker.jsが実装された.cshtmlがあります。このページは、親ページからViewBag経由で日付範囲(日付、日付まで)を取得します。次されているコード:Daterangepicker moment()は数字を返します

var _FromDate; 
var _EndDate; 

$(function() { 
    var from1 = '@ViewBag.from_date'; 
    var from = from1.split("-"); 
    var f = new Date(from[0], from[1] - 1, from[2]); 

    var to1 = '@ViewBag.to_date'; 
    var to = to1.split("-"); 
    var t = new Date(to[0], to[1] - 1, to[2]); 

    var start = (f.getFullYear() + '-' + pad((f.getMonth() + 1), 2) + '-' + pad(f.getDate(), 2)); 
    var end = (t.getFullYear() + '-' + pad((t.getMonth() + 1), 2) + '-' + pad(t.getDate(), 2)); 

    function cb(start, end) { 

     $('#reportrange span').html(start + ' . ' + end); 
     var dateRange = $('#reportrange span').html(); 
     _FromDate = dateRange.substring(0, dateRange.indexOf('.')); 
     _EndDate = dateRange.substring(dateRange.indexOf('.') + 1); 
    }; 

    function pad(str, max) { 
     str = str.toString(); 
     return str.length < max ? pad("0" + str, max) : str; 
    } 

    $('#reportrange').daterangepicker({ 
     startDate: start, 
     endDate: end, 
     locale: { format: "YYYY-MM-DD" }, 
     ranges: { 
      'Today': [moment(), moment()], 
      'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], 
      'Last 7 Days': [moment().subtract(6, 'days'), moment()], 
      'Last 30 Days': [moment().subtract(29, 'days'), moment()], 
      'This Month': [moment().startOf('month'), moment().endOf('month')], 
      'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')] 
     } 
    }, cb); 

    cb(start, end); 

}); 

が今ここで問題です:ページを実行している場合、daterangepickerは a string of numbers

として日付を返す問題の原因は何ですか?コードをステップバイステップで実行しても問題は見つかりません。

ご協力いただきましてありがとうございます。あなたは、いくつかの不要なコードを持って

+0

あなたは** ** from1はと** TO1の値をCONSOLE.LOGできplunkとちょうど彼らの後、ここに貼り付けREWITEをしましたそれぞれの宣言... –

+0

@ThirueswaranRajagopalanここに行く:from1は2017-09-10を示し、to1は2017-09-10を示します(前のページで私は 'Today'を選択したので、from1とto1の両方に同じ値を表示しています) – ragg

+0

($ start '+' end '); **開始**と**終了**はunixタイムスタンプ(ms)に変換されます。 –

答えて

0

、私は** https://embed.plnkr.co/G3xxp0HWPOoFYuF8u2qd/

/* global variables to store your dates ..*/ 
var _FromDate; 
var _EndDate; 

$(function() { 
    var _format = "YYYY-MM-DD"; 
    var start = moment('@ViewBag.from_date', _format); 
    var end = moment('@ViewBag.from_date', _format); 

    /* update your display summary and your local variables... */ 
    function cb(start, end) { 
    /* 
     storing the moment object. If case you post these values over to a server, defaulr ajax transforms into ISOstring. 
     But in case it doesn't, your should _FromDate = start.toISOString() or if u have a sppecific format start.format('{your format}') 
    */ 
    _FromDate = start; 
    _EndDate = end; 
    $('#reportrange span').html(start.format(_format) + ' - ' + end.format(_format)); 
    } 

    $('#reportrange').daterangepicker({ 
    startDate: start, 
    endDate: end, 
    locale: { format: _format }, 
    ranges: { 
     'Today': [moment(), moment()], 
     'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], 
     'Last 7 Days': [moment().subtract(6, 'days'), moment()], 
     'Last 30 Days': [moment().subtract(29, 'days'), moment()], 
     'This Month': [moment().startOf('month'), moment().endOf('month')], 
     'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')] 
    } 
    }, cb); 

    cb(start, end); 

}); 
+0

私はコードを追加しましたが、今では私のコードビハインドにエラーが表示されています:データ型nvarcharを日付に変換中にエラーが発生しました。 _FromDateおよび_EndDate変数をコードビハインドに送信して、ストアドプロシージャからデータをフェッチします。 – ragg

+0

'_FromDate = start.format(_format)'ところで、コメントでそれを言いました... –

+1

それは働いた!そんなにありがとう! – ragg

関連する問題