forサイクルの日付に別の月を追加するにはどうすればよいですか?

フランチェスコG。

これは私の投稿のアップグレードです:Jqueryは日付に月を追加します

n.total請求書に別の月を追加して、開始日から請求書の日付をスケジュールする必要があります。日付は月末ではなく開始日であり、その日がその月(2月30日または11月31日)に対して大きすぎる場合は、その月の最後の日に減らします。

最初の日付は開始日です。2番目の日付は開始日から5か月後です。3番目の日付は開始日から1年後です。最大請求書の4番目の日付は6か月ごとになります。

例:dateStart:30/09/2015 maxInv:6

  1. 請求書1:2015年9月30日
  2. 請求書2:2016年2月29日(うるう年)
  3. 請求書3:2016年9月30日
  4. 請求書4:2017年3月30日
  5. 請求書5:2017年9月30日
  6. 請求書6:30-03-2018

別の例:dateStart:31/08/2018 maxInv:6

  1. 請求書1:2018年8月31日
  2. 請求書1:2019年1月31日
  3. 請求書1:2019年8月31日
  4. 請求書2:2020年2月29日(うるう年)
  5. 請求書3:2020年8月31日
  6. 請求書4:28-02-2021

どんな提案でも大歓迎です

PS私はこのhttp://jsfiddle.net/J3cPD/112/の2つの異なる解決策を試しました

var dateStart="31-08-2018";
var splitSrt = dateStart.split("-");
var dateSrt = new Date(splitSrt[2], splitSrt[1] - 1, splitSrt[0]);
var nBill=10;
var mthBill=6;
    
for (var i=1 ; i<=nBill ; i++ ){
      if(i===1){
              srvDay =  new Date(dateSrt.getFullYear(), dateSrt.getMonth(), dateSrt.getDate());
      }else if(i===2){
              newDate = dateSrt.addMonths(mthBill - 1); 
              srvDay =  new Date(newDate.getFullYear(), newDate.getMonth(), newDate.getDate());
              newDate = dateSrt.addMonths(1); 
      }else if(i<=nBill){
              newDate = dateSrt.addMonths(mthBill); 
              srvDay =  new Date(newDate.getFullYear(), newDate.getMonth(), newDate.getDate());
      }
      srvDay= srvDay.toString('dd-MM-yyyy'); 
      $(".demo").append("<label>"+srvDay+"</label><br>");
  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://www.datejs.com/build/date.js" type="text/javascript"></script>
<div class="demo"></div>

そしてこのhttps://jsfiddle.net/hbud1h10/

  var dateStart="31-08-2018";
  var splitSrt = dateStart.split("-");
  var dateSrt = new Date(splitSrt[2], splitSrt[1] - 1, splitSrt[0]);
  var currentDay = dateSrt.getDate();
  var nBill=10;
  var mthBill=6;
    
  for (var i=1 ; i<=nBill ; i++ ){
  		var currentMonth = dateSrt.getMonth();
  		if(i===1){
          currentMonth=currentMonth;
      }else if(i===2){
      		currentMonth=currentMonth+(mthBill-1);
      }else if(i<=nBill){
      		currentMonth=currentMonth+(mthBill);
      }
      dateSrt.setMonth(currentMonth, currentDay);
      if (dateSrt.getMonth() > currentMonth + 1) 	dateSrt.setDate(0);
      srvDay= dateSrt.toString('dd-MM-yyyy'); 
      $(".demo").append("<label>"+srvDay+"</label><br>");
      
      if(i===2){
          dateSrt.setMonth(currentMonth+1, currentDay);
          if (dateSrt.getMonth() > currentMonth + 1) 	dateSrt.setDate(0);
      }
      
  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="demo"></div>

セルグデニソフ

あなたはこのようにそれを行うことができます:

function printInterval(startDate, maxInvoice) {
    var splitSrt = startDate.split('-');
    var dateSrt = new Date(splitSrt[2], splitSrt[1] - 1, splitSrt[0]);
    var currentDay = dateSrt.getDate();
    var billsCount = 6;
    
    $('.demo').append('<div><b>Start date: ' + startDate + ', Max Invoice: ' + maxInvoice + '</b></div>');

    for (var i = 0, j = 0; i < billsCount; i++) {
        var newDate = new Date(dateSrt.getTime());
        newDate.setMonth(dateSrt.getMonth() + j, currentDay);

        if (newDate.getMonth() > (dateSrt.getMonth() + j) % 12) {
            newDate.setDate(0);
        }

        var txtDay = $.datepicker.formatDate('dd-mm-yy', newDate);
        $('.demo').append('<div>'+ (i + 1) + '. Invoice ' + (i + 1) + ': ' + txtDay + '</div>');

       if (i === 0) {
           j += 5;
       } else if (i === 1) {
           j += 7;
       } else {
           j += maxInvoice;
       }
    }
}

printInterval('30-09-2015', 6);
printInterval('31-08-2018', 6);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<div class="demo"></div>

JSFiddle

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

この形式の日付に月を追加するにはどうすればよいですか?

分類Dev

Excelの日付値に月を追加するにはどうすればよいですか?

分類Dev

Thymeleafの日付に月を追加するにはどうすればよいですか?

分類Dev

月、月+ 1、月+2、月+3、月+4を日付に応じて別の列に表示するにはどうすればよいですか?

分類Dev

javascriptで2月の同じ日付を回避するために、月が29、30、31から1月の場合、サブスクリプションの次の日付を追加するにはどうすればよいですか?

分類Dev

日付のリストをエリクサーの月のリストにフィルタリングするにはどうすればよいですか?

分類Dev

Rのベクトルに日付を追加するにはどうすればよいですか?

分類Dev

クエリでMYSQLの日付に日を追加するにはどうすればよいですか?

分類Dev

PHPで現在の月と来月の日付を表示するにはどうすればよいですか?

分類Dev

SSRS 1日遅れで月の最初の日付を取得するにはどうすればよいですか?

分類Dev

Laravel-月と年の日付をクエリするにはどうすればよいですか?

分類Dev

ボタンをクリックしたときにBotostrapDateTimePickerの日付に月を追加するにはどうすればよいですか?

分類Dev

欠落している日付に日と月を追加するにはどうすればよいですか?

分類Dev

サイズを変更せずにタスクバーの時計に日付を追加するにはどうすればよいですか?

分類Dev

ミリ秒を日付(月の日)に変換するにはどうすればよいですか?

分類Dev

特定の日付が過ぎたら、その日付に1か月を追加するにはどうすればよいですか?

分類Dev

日付の範囲を比較できるように、現在の日付フィールドに日を追加するにはどうすればよいですか

分類Dev

C#で月日、年の日付形式を変更するにはどうすればよいですか?

分類Dev

RSQLiteで3列(日)、(月)、(年)の最小日付を取得するにはどうすればよいですか?

分類Dev

この形式で日付を取得するにはどうすればよいですか「2013年6月31日」

分類Dev

Swiftで日付形式を別の日付形式に変換するにはどうすればよいですか?

分類Dev

週に2つの日付に日付を追加するにはどうすればよいですか?

分類Dev

今日の日付をjavascriptの別の日付と比較するにはどうすればよいですか?

分類Dev

3つの異なるベクトル(日、月、年)から「as.Date」を使用して日付を作成するにはどうすればよいですか?

分類Dev

カーボンララベルで別の日付と日付を追加するにはどうすればよいですか?

分類Dev

OracleSQLで2つの日付の間の月を取得するにはどうすればよいですか。

分類Dev

OracleSQLで2つの日付の間の月を取得するにはどうすればよいですか。

分類Dev

SQL Serverで日付列の最初の3か月を取得するにはどうすればよいですか?

分類Dev

エクスポートされたファイルの名前の日付の終わりを追加するにはどうすればよいですか?

Related 関連記事

  1. 1

    この形式の日付に月を追加するにはどうすればよいですか?

  2. 2

    Excelの日付値に月を追加するにはどうすればよいですか?

  3. 3

    Thymeleafの日付に月を追加するにはどうすればよいですか?

  4. 4

    月、月+ 1、月+2、月+3、月+4を日付に応じて別の列に表示するにはどうすればよいですか?

  5. 5

    javascriptで2月の同じ日付を回避するために、月が29、30、31から1月の場合、サブスクリプションの次の日付を追加するにはどうすればよいですか?

  6. 6

    日付のリストをエリクサーの月のリストにフィルタリングするにはどうすればよいですか?

  7. 7

    Rのベクトルに日付を追加するにはどうすればよいですか?

  8. 8

    クエリでMYSQLの日付に日を追加するにはどうすればよいですか?

  9. 9

    PHPで現在の月と来月の日付を表示するにはどうすればよいですか?

  10. 10

    SSRS 1日遅れで月の最初の日付を取得するにはどうすればよいですか?

  11. 11

    Laravel-月と年の日付をクエリするにはどうすればよいですか?

  12. 12

    ボタンをクリックしたときにBotostrapDateTimePickerの日付に月を追加するにはどうすればよいですか?

  13. 13

    欠落している日付に日と月を追加するにはどうすればよいですか?

  14. 14

    サイズを変更せずにタスクバーの時計に日付を追加するにはどうすればよいですか?

  15. 15

    ミリ秒を日付(月の日)に変換するにはどうすればよいですか?

  16. 16

    特定の日付が過ぎたら、その日付に1か月を追加するにはどうすればよいですか?

  17. 17

    日付の範囲を比較できるように、現在の日付フィールドに日を追加するにはどうすればよいですか

  18. 18

    C#で月日、年の日付形式を変更するにはどうすればよいですか?

  19. 19

    RSQLiteで3列(日)、(月)、(年)の最小日付を取得するにはどうすればよいですか?

  20. 20

    この形式で日付を取得するにはどうすればよいですか「2013年6月31日」

  21. 21

    Swiftで日付形式を別の日付形式に変換するにはどうすればよいですか?

  22. 22

    週に2つの日付に日付を追加するにはどうすればよいですか?

  23. 23

    今日の日付をjavascriptの別の日付と比較するにはどうすればよいですか?

  24. 24

    3つの異なるベクトル(日、月、年)から「as.Date」を使用して日付を作成するにはどうすればよいですか?

  25. 25

    カーボンララベルで別の日付と日付を追加するにはどうすればよいですか?

  26. 26

    OracleSQLで2つの日付の間の月を取得するにはどうすればよいですか。

  27. 27

    OracleSQLで2つの日付の間の月を取得するにはどうすればよいですか。

  28. 28

    SQL Serverで日付列の最初の3か月を取得するにはどうすればよいですか?

  29. 29

    エクスポートされたファイルの名前の日付の終わりを追加するにはどうすればよいですか?

ホットタグ

アーカイブ