いつもお世話になります。
さて、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.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が文字列になっていない事が問題じゃないでしょうか。
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.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 />";
}
}
?>
(注)インデントのため、全角空白を使っています。
お探しの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ランキング
-
開始と終了を指定して、その間...
-
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>の日付整形
おすすめ情報