いつもお世話になります。
さて、date関数で、曜日を日本語表示でループさせ、日曜日だけ外す方法で悩んでおります。
今日から、順番に日付を表示させるのは、下記でできたのですが、
<?PHP
$nday = mktime();
for($i=0;$i<5;$i++){
print "<option>".date("m月d日 (D)",
mktime(0,0,0,date("m"),date("d")+$i,date("y")))."<br />";
}
?>
例)
04月18日 (Wed)
04月19日 (Thu)
04月20日 (Fri)
04月21日 (Sat)
04月22日 (Sun)
日本語表示にさせようとすると、曜日がループしません。
<?PHP
$nday = mktime();
$youbi = array("日","月","火","水","木","金","土");
for($i=0;$i<5;$i++){
print "<option>".date("m月d日 (".$youbi[date(w)].")",
mktime(0,0,0,date("m"),date("d")+$i,date("y")))."<br />";
}
?>
例)
04月18日 (水)
04月19日 (水)
04月20日 (水)
04月21日 (水)
04月22日 (水)
また、ここから日曜日だけ外すことはできますか?
お手数ですが、ご教示ください。
よろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
ちょっとしたサンプルです。
<?php
$nday = mktime();
$youbi = array("日", "月", "火", "水", "木", "金", "土");
for ($i = 0; $i < 15; $i++) {
$w = (date("w") + $i) % 7;
if ($w != 0) {
print date("m月d日 (" . $youbi[$w] . ")",
mktime(0, 0, 0, date("m"), date("d")+$i, date("y"))) . "<br />";
}
}
?>
(注)インデントのため、全角空白を使っています。
No.2
- 回答日時:
まぁ、$youbi[date(w)]としてますので、date(w)では今日の曜日しか
ひろえないですね。こんな感じでしょうか。
<?PHP
$youbi = array("日","月","火","水","木","金","土");
for($i=0;$i<5;$i++){
$d=mktime(0,0,0,date("m"),date("d")+$i,date("y"));
print date("m月d日",$d)." (".$youbi[date("w",$d)].")<br />";
}
?>
ちなみにoptionとbrの組み合わせは変だったのでとりあえずbr
にしときました
>日曜日だけ外すことはできますか?
ちょっと状況がわかりかねますが、曜日が0を除外すればよいのでは?
if(date("w",$d)!=0) print date("m月d日",$d)." (".$youbi[date("w",$d)].")<br />";
No.3
- 回答日時:
//ループの中でいちいちdate("Y")というような意味のない繰り返しがあるので、これらは先に変数に格納します。
$Y = date("Y");
$m = date("m");
$d = date("d");
//曜日を先に配列にいれておくのは正解です。
$youbi = array("日","月","火","水","木","金","土");
//最終的にoptionに入れるようですが、基本的には<option>値</option>というかたちでタグを閉じるのが良いです。
//どちらかといえば、<option value="値">表示</option>という形が良いと思います。
for($i=0;$i<30;$i++){
$time = mktime(0,0,0,$m,$d+$i,$Y);
$w = date("w",$time);//曜日取得
if($w > 0){ //日曜日は0
$datestr = date("Y年m月d日",$time)."(".$youbi[$w].")";
print("<option>{$datestr}</option>");
}
}
こんな感じでしょうか
上記スクリプトは
> $youbi[date(w)]
ここでdate関数内のwが文字列になっていない事が問題じゃないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel2019、2021の日付、曜日の表示について 2 2022/11/29 15:01
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Visual Basic(VBA) swiftで年号を 1 2023/02/05 06:48
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
- Visual Basic(VBA) 列 A に同じ日が2つが必要です。 1 2023/03/28 07:25
- Excel(エクセル) Excel2019、2021の売り上げなどの集計表について 4 2022/11/29 14:03
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Access(アクセス) ExcelのVBAコードについて教えてください。 4 2023/01/20 09:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
開始と終了を指定して、その間...
-
Java Scriptで、ある日付に加算...
-
date関数で、曜日を日本語表示...
-
php カレンダーの休み表示
-
経過期間計算がうまくいかない
-
シェルスクリプト:N日前の日付...
-
改行されないカレンダー(PHP)
-
MS-DOSでの日付表示
-
「取得先」という表現について
-
Dosブロンプトでtabを出力したい
-
switch()文で値の大小比較
-
DTOとEntityの差は何ですか。
-
wordの差し込み印刷で文字...
-
バッチファイルでpingの結果を...
-
php 入力画面から確認表示画面...
-
ps3で久しぶりにCDの音楽情報取...
-
shシェルスクリプト 空白行の...
-
自分の掲示板にアクセス解析を...
-
VBA コレクションに2次元配列...
-
WordでExcelデータを差込...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
開始と終了を指定して、その間...
-
ファイル名に日付の挿入
-
昨日の日付を取得するVBscript
-
substrの使い方について教えて...
-
一週間の表示の仕方と文字表示
-
PHPで以下のような占いプログラ...
-
C言語を使って、ある特定の日の...
-
アップロードしたファイル名に...
-
PHPでカレンダーを作る(縦書き)
-
プルダウンメニューの値をDBに...
-
第何週かを取得したい
-
日付によって画像を変える
-
差分の月数を算出する方法
-
SQL:TIMESTAMPの期間検索を指...
-
PHP 指定した期間だけ表示した...
-
C言語でシステム日付との差を...
-
プルダウンで今日以降の日付を...
-
Accessコンボボックス
-
MovableTypeで、ある日付を過ぎ...
-
Java Scriptで、ある日付に加算...
おすすめ情報