
いつもお世話になります。
さて、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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
過去にVBAでの「シフト表の何日...
-
VBAでのDATEについて
-
次のhtml・cssでspan内の文字を...
-
PHPで訪問回数を表示するカウン...
-
IEを使わないでhtmlテキストを...
-
VBAでPDFファイルの文書のプロ...
-
python の import エラー Modul...
-
VBAでPDFのアクティブページ番...
-
長い1枚ページを無限スクロール...
-
Yahoo知恵袋で適切な回答を得ら...
-
Google scholarがひらけなくな...
-
c# html取得・正規表現に関して
-
WindowsのイベントログをExcel...
-
Excelデータの表示方法について
-
Google GASを使ってWebSite情報...
-
タグの追加
-
VB webbrowserを使ってサイトの...
-
VBA フォルダの更新日時を取得
-
sessioncookieをではなくcookie...
-
Webサイトの情報取得について(...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
開始と終了を指定して、その間...
-
ファイル名に日付の挿入
-
現在時刻をyyyymmddhhmmss形式...
-
C言語でシステム日付との差を...
-
strtotime 前月・前々月の表示
-
C言語を使って、ある特定の日の...
-
昨日の日付を取得するVBscript
-
PHPでn日後を計算したい
-
プルダウンで今日以降の日付を...
-
Accessコンボボックス
-
改行されないカレンダー(PHP)
-
Accessで、DAOでAddnew
-
6ヶ月前の日付を取得するにはど...
-
VBAでのDATEについて
-
日付を米国式から日本式に変換...
-
substrの使い方について教えて...
-
昨日の日付名でファイルを作成...
-
日付の比較方法
-
MS-DOSコマンドのリダイ...
-
MYSQLの日付から現在までの年数...
おすすめ情報