質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
date

dateは、date型や日付に関する関数や処理についてのタグです

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

7525閲覧

PHP:週の始まりの日曜日と終わりの土曜日を求めるには

marumaru

総合スコア32

date

dateは、date型や日付に関する関数や処理についてのタグです

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2014/11/24 07:46

表題の通り、ある日付が与えられたときにその日が存在する週の

  • 週始めの日曜日
  • 週終わりの土曜日

を求める関数を作りたいです。

そもそもどうやって計算すればいいのかわかりません。
それと求めたい値が2つあるので、

lang

1function getWeekRage($date) { 2 global $start_date,$end_date 3 4}

などのようにグローバル変数にするしかないでしょうか・・・?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

配列で戻せばOKです。
日付の計算のやり方はいろいろあるとは思いますが、とりあえず下記ではいかがでしょう?

PHPのstrtotime()
http://jp1.php.net/manual/ja/function.strtotime.php
によりますと、

lang

1echo strtotime("next Thursday"), "\n"; 2echo strtotime("last Monday"), "\n";

こんな感じでお手軽に計算ができます。

lang

1function getWeekRange($date) { 2 3 // 戻り値 4 $start_date = ""; 5 $end_date = ""; 6 7 // UNIXタイムスタンプに変換 8 $t = strtotime($date); 9 // 開始の日曜を計算 10 if ( date('w', $t) == 0 ) { 11 ; 12 } else { 13 $t = strtotime("last sunday", $t); 14 } 15 $start_date = date("Y-m-d", $t); 16 // 終了の土曜を計算 17 $t = strtotime("next saturday", $t); 18 $end_date = date("Y-m-d", $t); 19 20 return array($start_date,$end_date); 21 22} 23 24list($start_date, $end_date) = getWeekRange('2014-08-17');

投稿2014/11/25 07:30

hola_aya81

総合スコア50

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問