• ベストアンサー

日付取得、計算及び表示コードが動作しません。

日付取得、計算及び表示コードが動作しません。 下記のコードのどこが間違っているのか、どなたかお分かりですか? このコードでは、今日の日付をサーバから取得し、それから10日後の日付を計算して表示したいです。 $currentdate = .getdate(); $yyyy = $currentdate["year"]; $mm = $currentdate["mon"]; $dd = $currentdate["mday"]; $int_day = 10; $duedate = .date("y/m/d", mktime(0, 0, 0, $mm, $dd+$int_day, $yyyy)); echo "$duedate" また、上記のコードが動作するようになったとして、表示される日付は「2008/06/10」のようになるかと思いますが、これを「2008年06月10日」のように表示させる方法をご存知でしょうか? >$duedate = .date("y/m/d", mktime(0, 0, 0, $mm, $dd+$int_day, $yyyy)); 上記コードを下記のように変更してもだめです。 >$duedate = .date("y年m月d日", mktime(0, 0, 0, $mm, $dd+$int_day, $yyyy)); よろしくお願いします。

  • PHP
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

なんか質問の構文が変ですが・・・ 以下のとおりでいかがでしょうか? <? $currentdate = mktime(); $currentdate +=60*60*24*10; $duedate=date("Y年m月d日",$currentdate); echo "$duedate"; ?> ただ日本語のトラブルをさけたいのであれば、切り分けちゃうのも手です。 <? $currentdate = mktime(); $currentdate +=60*60*24*10; $duedate=date("Y",$currentdate)."年".date("m",$currentdate)."月".date("d",$currentdate)."日"; echo "$duedate"; ?> ?>

kitty1000
質問者

お礼

yambejpさん ご回答、ありがとうございました。 了解しました。

その他の回答 (1)

  • ts3m-ickw
  • ベストアンサー率43% (1248/2897)
回答No.2

<?php print date("Y年m月d日", strtotime("+10 days")); ?> じゃダメなん?

kitty1000
質問者

お礼

ts3m-ickwさん ご回答、ありがとうございました。 了解しました。

関連するQ&A

  • 月曜日から始まる週間カレンダーの作り方

    いつもありがとうございます。 下記のようなコードを書いて1週間のカレンダーを作っていますが、 どうしても日曜日からの表示になります。 この表示を月曜日から始まり、日曜日で終わるカレンダーにならないものか考えるのですが、どうもうまくいきません。 よきアドバイスをお願いします。 <? //来週・前週の---日曜日----をgetした値 $get_sunday = htmlspecialchars($_GET["get_sunday"]); $entry_day = htmlspecialchars($_GET["entry_day"]); //変数の値の識別カレンダー表示 //get_sunday (来週・前週)の値がgetされていたら if($get_sunday!=""){ //getされた日曜日の日付 $mm = date("m",strtotime($get_sunday)); $dd = date("d",strtotime($get_sunday)); $yyyy = date("Y",strtotime($get_sunday)); //getされた日曜日の日付(日のみ) $sunday_num = $dd; //getされた日曜日の日付(年月日) $kyujin_day = date("Y-m-d",mktime(0,0,0,$mm,$dd,$yyyy)); } // ================================================= //変数の値の識別           カレンダー表示 //entry_day (指定した日)の値をgetされたら if($entry_day!=""){ $mm = date("m",strtotime($entry_day)); $dd = date("d",strtotime($entry_day)); $yyyy = date("Y",strtotime($entry_day)); //$week_numに今日の曜日ナンバーを代入(mktime(0,0,0,今日の月,今日の日,今日の年) //日0・月1・火2・水3・木4・金5・土6 $week_num = date("w", mktime(0,0,0,$mm,$dd,$yyyy)); //entry_dayの値 $kyujin_day = date("Y-m-d",mktime(0,0,0,$mm,$dd,$yyyy)); //日曜日の日付(日のみ) $sunday_num = $dd - $week_num; } // ================================================= //変数の値がない場合は本日の日付の取得 カレンダー表示 if($get_sunday=="" and $entry_day==""){ $mm = date("m",time()); $dd = date("d",time()); $yyyy = date("Y",time()); //$week_numに今日の曜日ナンバーを代入(mktime(0,0,0,今日の月,今日の日,今日の年) $week_num = date("w", mktime(0,0,0,$mm,$dd,$yyyy)); $kyujin_day = date("Y-m-d",mktime(0,0,0,$mm,$dd,$yyyy)); //日曜日の日付(日のみ) $sunday_num = $dd - $week_num; } //前週、次週に日曜日の日付を取得    カレンダー表示 $sunday_last = $sunday_num - 7; $sunday_next = $sunday_num + 7; ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>レンダー画面</title> </head> <body> <table> <tr> <td></td> <td bgcolor="#00FFFF">日</td> <td bgcolor="#00FFFF">月</td> <td bgcolor="#00FFFF">火</td> <td bgcolor="#00FFFF">水</td> <td bgcolor="#00FFFF">木</td> <td bgcolor="#00FFFF">金</td> <td bgcolor="#00FFFF">土</td> <td></td> </tr> <tr> <form method="get" name="form2"action="test2.php"> <td> <input type="hidden" name="get_sunday" value= "<?php echo date("Y-m-d", mktime(0, 0, 0, $mm, $sunday_last, $yyyy)); ?>"> <input type="submit" name="Submit2" value="前週へ"> </td> </form> <? //週カレンダー(前週ボタン作成)ここまで //週カレンダー日付を入れる $w2 = $sunday_num; $select_day = date("Y-m-d", mktime(0, 0, 0, $mm, $w2, $yyyy)); $i = 0; while($i < 7) { //日曜日から順に日付を$select_dayに入れていく ?> <td bgcolor="#CCFFFF"><? echo date("m月d日", mktime(0, 0, 0, $mm, $w2+$i, $yyyy)) ?></td> <? // 日付けを一つ繰り上げる $i++; } ?> <form method="get" name="form2" action="test2.php"> <td> <input type="hidden" name="get_sunday" value= "<?php echo date("Y-m-d", mktime(0, 0, 0, $mm, $sunday_next, $yyyy)); ?>"> <input type="submit" name="Submit" value="次週へ"> </td> </form> </table> </body> </html>

    • 締切済み
    • PHP
  • クリスタルレポートの式フィールドで日付変換。

    クリスタルレポート8の式フィールドで日付を表示させようと思っています。 標準では『YYYY/MM/DD』形式なのですがこれを『YYYY-MM-DD』で表示させたいのですがうまくいきません。 式フィールドには if A ="1" then formula = CurrentDate と記述しています。 Aの値が"1"ならば日付を表示です。 説明が下手で分かりづらいかもしれませんが、 補足しますのでヨロシクお願いします。

  • バッチファイル DOS Windows2000環境での日付取得

    バッチファイル DOS Windows2000環境での日付取得 いつもお世話になります。 Windows2000環境にて当日日付を取得する下記のバッチファイルがあります。 ~コード開始~ REM 日付取得 FOR /F "tokens=1 delims= " %%i in ('DATE /t') do SET TEST1=%%i ECHO %TEST1% ~コード終了~ 上記プログラム結果は【YYYY/MM/DD】となります。 ※YYYY:当年 MM:当月 DD:当日 上記コードはWindows2000環境のDOSプロンプトにて【DATE /t】コマンドを実行すると 【YYYY/MM/DD 曜日】が表示されるのを利用しております。 結果的にスペース区切りで1節目の【YYYY/MM/DD】だけを抜き取っております。 これは問題ありませんでした。 しかし、下記コードで実行した所、意図した結果と異なるものになりました。 ~コード開始~ REM 日付取得 FOR /F "tokens=2 delims= " %%i in ('ECHO %DATE%') do SET TEST1=%%i ECHO %TEST1% ~コード終了~ 上記プログラム結果は【YYYY/MM/】となってしまい、【DD】が抜けておりました。 ※YYYY:当年 MM:当月 DD:当日 上記コードはWindows2000環境のDOSプロンプトにて【DATE】コマンドを実行すると 【曜日 YYYY/MM/DD】が表示されるのを利用しております。 結果的にスペース区切りで2節目の【YYYY/MM/DD】だけを抜き取る予定でしたが 見ての通り予想外の結果です。 この現象はなぜでしょうか? 何が起因して【DD】が表示されないのでしょうか? 他に当日日付の取得方法はいくつか知っていますが、 上記プログラムで取得したいのです。 どなたかご存知の方がいらっしゃればご教授願いませんでしょうか? 以上、何卒宜しくお願い致します。

  • 土日をカウントしない日付表示

    PHPで日付の表示方法で困っています。 今日から3日後の日付を表示するときに土日を含まないで表示させたいのです。本日12日ですので17日が表示されるようなPHPをご教授いただきたいです。 <?php echo date("m月d日",strtotime("+3 day"));?> だと単純に3日後ですし、 <?PHP $day = 60 * 60 * 24; $t=mktime(0,0,0,date("m"),date("d")+3,date("y")); if(date("w",$t)==6) $t += $day * 2; if(date("w",$t)==0) $t += $day ; echo date("m月d日",$t); ?> だとしても土日をカウントしているので、思うような結果に至っておりません。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 日付表示設定

    日付表示で、yyyy/mm/ddと表示させたいのですが、yyyy mm ddと“/”ではなく“半角スペース”となります。 これは、officeとメールソフトでも同じ状態です。OSに依存しているのではないかと考えております。 表示設定について、色々と変更してみましたがもとにもどりません。Internetで色々と検索してみましたが、有用な情報はありませんでした。 yyyy/mm/ddの表示に戻したいのですが、どなたかおしえてください。

  • Excel2010で日付の前ゼロを空白で表示したい

    書式で、yyyy/m/dやyyyy/mm/ddはありますが、日本語っぽく表示する 2012年△9月△1日 △7年△1月△3日 などのように表示する方法はないですか? (△は空白です)

  • phpでの日付の取得について

    PHPでサイト内に、1週間分の日付を表示させ 日付ごとに指定したページに移動するよう、リンクを張りたいと思っております。 以下で日付は表示できたのですが 日付と日付の間にスペースを入れたいです。 ※可能であれば曜日も表示させたいです。 ↓現在、このように表示されます。 1/181/191/201/211/221/231/24 また、日付ごどに指定サイトへリンクも貼りたと思ってます。 <?php $nday = mktime(); for($i=0;$i<7;$i++){ print date("n/j",mktime(0,0,0,date("m",$nday),date("d",$nday)+$i,date("y",$nday)))."<td>"; } ?> どなたか、ご教授いただけないでしょうか? 以上、宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • エクセルで日付、時間表示

    お世話になります。エクセル2000を使っています。 セルの書式設定-ユーザー定義で以下の条件で表示させたいのですが・・・・ 日付データとして、日付のみのものと、時間も入っているデータを、 日付のみのものは日付のみの表示に、 時間も入っているものは日付と時間を表示する。 具体的には、ある一つのセルに 2003/07/26と入力した時 → "2003/07/26"と表示 2003/07/26 18:30と入力した時 →  "2003/07/26 18:30"と表示 ユーザー定義で、 yyyy/mm/dd yyyy/mm/dd hh:mm でそれぞれの表示はできますが、例えば 時間データのないものに、yyyy/mm/dd hh:mmと定義すると、"2003/07/26 00:00"と表示されて都合がよくありません。 文字データとして、前に「’」を付ければ表示のみはできますが、数値データとして使えません。 少し長くなりましたが、よろしくご教示ください。

  • MS-DOSでの日付表示

    MS-DOSコマンドで、日付や時刻の%date% %time%ですと、 yyyy/mm/dd hh:mm:ssの表示になります。 バッチファイルを作成して、フォルダ名の頭に日付時刻をつけたいんですが、 yyyymmdd hhmmss の表示形式にする方法が分かりません。 よろしかったら教えて頂けませんでしょうか。

  • 日付に関するSQL分で

    wonddows2000,Access2000 VBAで勤怠管理をしたいのですが日付に関するSQL分でDATEDIFFの使い方が今ひとつわかりません。 SELECT * ,DATEDIFF(day,入室日,退室日)  FROM TABLE WHERE 部署コード=700  WHERE後部分はどう表現したらいいでしょうか。 検査条件(1) 入室日(YYYY/MM/DD)=退室日(YYYY/MM/DD) 且つ入室時間(hh:mm:ss)が09:00:00より後且つ 入室日(YYYY/MM/DD)=退室日(YYYY/MM/DD)+1 且つ退室時間(hh:mm:ss)が09:00:00より前且つ 部署コードが700に対応するテーブルの全データを出力 検査条件(2)上記以外の全データ TABLE (文字型)  (文字型) (日付型) (日付型) (日付型) (日付型) 部署コード | 氏名  | 入室日  |入室時間 | 退室日  | 退室時間 | 1000 A 2000/12/01 8:16:30 2000/12/01 18:10:20 2000 B 2000/12/02 8:16:30 2000/12/03 8:10:20 700 C 2000/12/03 9:16:30 2000/12/03 18:10:20 3000 A 2000/12/04 8:16:30 2000/12/01 18:10:20 700 D 2000/12/04 8:16:30 2000/12/05 8:10:20 700 E 2000/12/04 8:16:30 2000/12/04 18:10:20 結果(1) 700 C 2000/12/03 9:16:30 2000/12/03 18:10:20 700 D 2000/12/04 8:16:30 2000/12/05 8:10:20 結果(2) 1000 A 2000/12/01 8:16:30 2000/12/01 18:10:20 2000 B 2000/12/02 8:16:30 2000/12/03 8:10:20 3000 A 2000/12/04 8:16:30 2000/12/01 18:10:20 700 E 2000/12/04 8:16:30 2000/12/04 18:10:20