
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで、DAOでAddnew
-
Excel VBA:特定の文字列以降(...
-
Access グループごとのページ...
-
ミュージックのアートワークを...
-
小数点以下0の非表示
-
Yahoo! JAPAN IDを新規取得でき...
-
PHPでの画像の形式の変換
-
PHPで値を保持する方法
-
bashの関数の引数にスペースが...
-
wordの差し込み印刷で文字...
-
(Win32)ファイルパスから物理ド...
-
アクセスの度にIPアドレスを変...
-
PHP ハイパーリンク
-
excel access連携 このテーブル...
-
PHP declare文について、ticks...
-
EXCEL VBAでのCSV出力について
-
IFRAME内PHPのセッション変数取...
-
PHPで返信メールにチェックボッ...
-
VBAでPDFのアクティブページ番...
-
コンビニで住民票を取得した場...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
開始と終了を指定して、その間...
-
ファイル名に日付の挿入
-
日付データを比較して出力したい!
-
日付の比較
-
子ノードの出力について
-
"0412" を "04" と "12" で区切る
-
「20100101」を「2010/01/01」...
-
AND検索のスクリプト記述方法(...
-
アップロードしたファイル名に...
-
timestamp(14)のフォーマットに...
-
PHP に詳しい方教えてください
-
現在時刻をyyyymmddhhmmss形式...
-
2011-08-18>2011年 8月18日(木)
-
date関数の漢字フォーマット
-
DBから昨日以前の日付のデータ...
-
前月の取得について
-
WP 日時で分岐して表示を変えたい
-
日付の比較方法
-
C言語を使って、ある特定の日の...
-
MS-DOSコマンドのリダイ...
おすすめ情報