当方の期待していた初心者向けの回答が得られなかったため、やむを得ずマルチポストにて解決に至りました。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10274446285
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2023/01/24 01:42
退会済みユーザー
2023/01/24 01:44
退会済みユーザー
2023/01/24 02:32
回答1件
0
営業日で計算する場合は原則専用のカレンダーを用意しておく必要があります。
祝日だけでなく、振替休日やその組織の専用休(お盆や年末年始)もあるでしょうし
参考
* | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 |
---|---|---|---|---|---|---|
元日 | 23/01/01 | 22/01/01 | 21/01/01 | 20/01/01 | 19/01/01 | 18/01/01 |
休日 | 23/01/02 | |||||
成人の日 | 23/01/09 | 22/01/10 | 21/01/11 | 20/01/13 | 19/01/14 | 18/01/08 |
建国記念の日 | 23/02/11 | 22/02/11 | 21/02/11 | 20/02/11 | 19/02/11 | 18/02/11 |
休日 | 18/02/12 | |||||
天皇誕生日 | 23/02/23 | 22/02/23 | 21/02/23 | 20/02/23 | ||
休日 | 20/02/24 | |||||
春分の日 | 23/03/21 | 22/03/21 | 21/03/20 | 20/03/20 | 19/03/21 | 18/03/21 |
昭和の日 | 23/04/29 | 22/04/29 | 21/04/29 | 20/04/29 | 19/04/29 | 18/04/29 |
休日 | 19/04/30 | 18/04/30 | ||||
休日 | 19/05/01 | |||||
休日 | 19/05/02 | |||||
憲法記念日 | 23/05/03 | 22/05/03 | 21/05/03 | 20/05/03 | 19/05/03 | 18/05/03 |
みどりの日 | 23/05/04 | 22/05/04 | 21/05/04 | 20/05/04 | 19/05/04 | 18/05/04 |
こどもの日 | 23/05/05 | 22/05/05 | 21/05/05 | 20/05/05 | 19/05/05 | 18/05/05 |
休日 | 20/05/06 | 19/05/06 | ||||
海の日 | 23/07/17 | 22/07/18 | 21/07/22 | 20/07/23 | 19/07/15 | 18/07/16 |
スポーツの日 | 21/07/23 | 20/07/24 | ||||
山の日 | 23/08/11 | 22/08/11 | 21/08/08 | 20/08/10 | 19/08/11 | 18/08/11 |
休日 | 21/08/09 | 19/08/12 | ||||
敬老の日 | 23/09/18 | 22/09/19 | 21/09/20 | 20/09/21 | 19/09/16 | 18/09/17 |
秋分の日 | 23/09/23 | 22/09/23 | 21/09/23 | 20/09/22 | 19/09/23 | 18/09/23 |
休日 | 18/09/24 | |||||
スポーツの日 | 23/10/09 | 22/10/10 | 19/10/14 | 18/10/08 | ||
休日 | 19/10/22 | |||||
文化の日 | 23/11/03 | 22/11/03 | 21/11/03 | 20/11/03 | 19/11/03 | 18/11/03 |
休日 | 19/11/04 | |||||
勤労感謝の日 | 23/11/23 | 22/11/23 | 21/11/23 | 20/11/23 | 19/11/23 | 18/11/23 |
天皇誕生日 | 18/12/23 | |||||
休日 | 18/12/24 |
カレンダーを利用した営業日計算
仮に2018/1/1以降で良いなら、
javascript
1const eigyobi=[] 2const h=["2018/1/1","2018/1/8","2018/2/11","2018/2/12","2018/3/21","2018/4/29","2018/4/30","2018/5/3","2018/5/4","2018/5/5","2018/7/16","2018/8/11","2018/9/17","2018/9/23","2018/9/24","2018/10/8","2018/11/3","2018/11/23","2018/12/23","2018/12/24","2019/1/1","2019/1/14","2019/2/11","2019/3/21","2019/4/29","2019/4/30","2019/5/1","2019/5/2","2019/5/3","2019/5/4","2019/5/5","2019/5/6","2019/7/15","2019/8/11","2019/8/12","2019/9/16","2019/9/23","2019/10/14","2019/10/22","2019/11/3","2019/11/4","2019/11/23","2020/1/1","2020/1/13","2020/2/11","2020/2/23","2020/2/24","2020/3/20","2020/4/29","2020/5/3","2020/5/4","2020/5/5","2020/5/6","2020/7/23","2020/7/24","2020/8/10","2020/9/21","2020/9/22","2020/11/3","2020/11/23","2021/1/1","2021/1/11","2021/2/11","2021/2/23","2021/3/20","2021/4/29","2021/5/3","2021/5/4","2021/5/5","2021/7/22","2021/7/23","2021/8/8","2021/8/9","2021/9/20","2021/9/23","2021/11/3","2021/11/23","2022/1/1","2022/1/10","2022/2/11","2022/2/23","2022/3/21","2022/4/29","2022/5/3","2022/5/4","2022/5/5","2022/7/18","2022/8/11","2022/9/19","2022/9/23","2022/10/10","2022/11/3","2022/11/23","2023/1/1","2023/1/2","2023/1/9","2023/2/11","2023/2/23","2023/3/21","2023/4/29","2023/5/3","2023/5/4","2023/5/5","2023/7/17","2023/8/11","2023/9/18","2023/9/23","2023/10/9","2023/11/3","2023/11/23"]; 3for(let i=new Date('2018/1/1').getTime();i<=new Date('2023/12/31').getTime();i+=60*60*24*1000){ 4 const j=new Date(i).toLocaleDateString(); 5 if(!h.includes(j) && 6 [1,2,3,4,5].includes(new Date(i).getDay()) && 7 !new RegExp('/(12/(29|30|31))|(1/(2|3))$').test(j) 8 ){ 9 eigyobi.push(j); 10 } 11} 12 13const d="2023/1/23"; 14const index=eigyobi.indexOf(d); 15for(var i=1;i<100;i++){ 16 console.log(`${i}営業日前は${new Date(eigyobi[index-i]).toLocaleDateString()}`); 17}
投稿2023/01/23 10:29
編集2023/01/23 12:56総合スコア114896
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2023/01/23 10:38
2023/01/23 10:41
退会済みユーザー
2023/01/23 10:57
2023/01/23 12:02 編集
2023/01/23 11:31
退会済みユーザー
2023/01/23 13:42
2023/01/23 13:43
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。