2016-08-23 10 views
2

以下のメソッドは、この形式のテキストボックスに日付を送信しますWed Sep 14 2016 00:00:00 GMT+0400。 はので、私は、コードの下にそれにしようとしているSep 14 2016formatサブスクリプトを使用したJavaScript日付

この形式で日付を取得するためにsubstringメソッドを使用しようとしたが、それは

それは、このエラーにUncaught TypeError: date.substring is not a function

<script> 
    $(document).ready(function() { 
     var dateval = $('#<%= txtdate.ClientID %>').val(); 
     if (dateval != '') { 

      var options = { 
       selectedDate: dateval, 
       size: 'medium', 
       width: 960 
      } 
     } else { 
      var options = { 
       size: 'medium', 
       width: 960 
      } 
     } 
     $('#paginator').datepaginator(options); 
     $('#paginator').on('selectedDateChanged', function (event, date) { 
      $('#<%= txtdate.ClientID %>').val(date.substring(4, 12)); 
     }); 
    }); 
</script> 
+0

のように、サブ文字列に

を使用する必要があります。代わりに[moment.js](http://momentjs.com)を使用してください。 – str

答えて

1

あなたは日付を文字列に変換してから自分で日付を解析べきではありません。この

$('#<%= txtdate.ClientID %>').val(date.toString().substring(4, 12)); 
3

使用を返す動作しませんでしたArray.prototype.slice機能。

var date = 'Wed Sep 14 2016 00:00:00 GMT+0400'; 
var formatted = date.split(' ').slice(1, 4).join(' '); 

date.constructorDate機能、ないStringあるので、あなたは、エラーが発生しました。文字列に変換するには、date.toString()または単にdate + ''を使用できます。文字列に変換された後、date.substr(4, 11)を呼び出すことができます。 11の代わりに12と入力すると、最後に余分なスペースがあります。

また、substrsubstringの間に違いがあります。最初のものは文字列の開始位置と長さを必要とし、2番目の文字列は文字列の開始位置と終了位置を必要とします。

関連する問題