No.3ベストアンサー
- 回答日時:
date()関数使えば簡単では?
$weekday = array( "日", "月", "火", "水", "木", "金", "土" );
$date = new DateTime(date('Y-m-d'));
$date->modify('+7day');
print $date->format('Y-m-d') .'は'.$weekday[$date->format('w')]."曜日";
詳しくはこちらで
http://php.net/manual/ja/ref.datetime.php
No.4
- 回答日時:
こういうロジックは人それぞれで楽しいですね。
自分ならこうするかな。
============================================
//設定: n日後と 休日(曜日,日付)を配列に
$n = 7;
$offdays = array('Sat','Sun');
$holidays = array('2011-01-01','2011-02-11');
//n日後が休日から外れるまで +1日秒してゆく
$n = strtotime("+$n day");
while(1){
if( in_array( date("D",$n), $offdays) ||
in_array( date("Y-m-d",$n),$holidays)){
$n += (60 * 60 * 24);
}else{
break;
}
}
//$n(timestamp)を取得済みなので 後はお好きにお料理
echo "仕上がりは、".date("n月j日",$n);
=============================================
※実務的には、営業時間を過ぎていれば翌日として計算する等の処理も必要になるかと。
No.2
- 回答日時:
---
<?php
function getNextBusinessDay($date_start, $count)
{
$holiday = array( "2011-07-18" => "海の日");
$date = clone $date_start;
print $date->format("Y-m-d")."の".$count."営業日後を調べます\n";
$oneday = new DateInterval("P1D");
while ($count > 0) {
$date->add($oneday);
$str = $date->format("Y-m-d");
$w = $date->format("w");
if ($w < 1 #日曜
|| $w > 5 #土曜
|| isset($holiday[$str])) { #祝日
print $date->format("Y-m-d(D)").$holiday[$str]."は営業日ではありません\n";
continue;
}
$count--;
print $date->format("Y-m-d(D)")."は営業日なので、残り $count 日\n";
}
return $date;
}
$date = new DateTime("2011-07-14");
$step = 7;
$next = getNextBusinessDay($date, $step);
print $date->format("Y-m-d")."の".$step."営業日後は".$next->format("Y-m-d")."で
す";
?>
---
こんな感じでしょうか。
この回答へのお礼
お礼日時:2011/06/15 16:16
whileループで土日祝日をcontinueでスキップする感じでしょうか。
是非試してみたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) 【Excel質問】 「本日の日付」から指定条件を満たす営業日経過後の日数を表示させる関数式 3 2022/06/06 23:28
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Excel(エクセル) 週毎の集計 2 2023/08/04 16:56
- 労働相談 有給計算について 回答お願いします。 建設業経営です。休日は日曜のみ 従業員の有給計算について 雇い 2 2023/03/26 06:12
- 電子マネー・電子決済 ドットマネー交換について質問 ドットマネーの交換先にdポイントがあります 交換時間は3営業日(土日祝 1 2022/11/27 09:25
- その他(Microsoft Office) エクセルについて教えてください。 3 2023/05/19 18:19
- 求人情報・採用情報 月単位、週40時間の変形労働時間制で、 日曜祝日土曜半日の固定休+シフト制(平日一日)の企業の場合、 1 2023/08/10 23:43
- 就職・退職 退職日について教えてください 2/28が最終出勤日になりました 有休が27日あり、3/1から有休消化 1 2023/02/03 12:39
- 求人情報・採用情報 アルバイトの面接結果について。 4月の29日のお昼頃、接客販売のアルバイトの面接を受けました。 結果 1 2023/05/06 16:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
開始と終了を指定して、その間...
-
substrの使い方について教えて...
-
C言語でシステム日付との差を...
-
差分の月数を算出する方法
-
Accessで、DAOでAddnew
-
SQL:TIMESTAMPの期間検索を指...
-
php カレンダーの休み表示
-
Dosブロンプトでtabを出力したい
-
wordの差し込み印刷で文字...
-
Yahoo! JAPAN IDを新規取得でき...
-
VB.NETからVBAマクロ(引数)を呼...
-
phpでcookieがうまく保存されない
-
switch()文で値の大小比較
-
VB or VBScriptでPCの製造番号...
-
(Win32)ファイルパスから物理ド...
-
PHPのセッション有効期限について
-
$_SESSIONと、POSTやGETの違い
-
findstrのerrorlevel
-
コンピューター名を取得したい
-
【C#】DataGridViewの最大列数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
開始と終了を指定して、その間...
-
ファイル名に日付の挿入
-
アップロードしたファイル名に...
-
昨日の日付を取得するVBscript
-
C言語でシステム日付との差を...
-
C言語を使って、ある特定の日の...
-
Accessコンボボックス
-
現在時刻をyyyymmddhhmmss形式...
-
月曜日から始まる週間カレンダ...
-
6ヶ月前の日付を取得するにはど...
-
MySQLのdate型をphpで○年○月○日...
-
今日の日付から1週間のリスト
-
MYSQLの日付から現在までの年数...
-
ASP 年度年齢の計算
-
ESXiのdateコマンドについて
-
PHP 指定した期間だけ表示した...
-
改行されないカレンダー(PHP)
-
VBAでのDATEについて
-
シェルスクリプト:N日前の日付...
-
rss2.0<pubDate>の日付整形
おすすめ情報