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

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

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

多くのプログラミング言語におけるDateTimeオブジェクトは、日付と時間に関する演算と出力を行います。

Q&A

解決済

2回答

192閲覧

datetime クラスに関しての質問です

humuhimi

総合スコア49

DateTime

多くのプログラミング言語におけるDateTimeオブジェクトは、日付と時間に関する演算と出力を行います。

0グッド

0クリップ

投稿2018/07/07 03:38

編集2018/07/07 03:58

$body="";
$start=new DateTime('first day of this month');
$interval=new Dateinterval('P1D');
$end=new DateTime('first day of next month');

$period=new DatePeriod($start,$interval,$end);

foreach ($period as $day) {
** if($day->format('w')%7 === 0){$body .= "</tr><tr>";}**
$body .= sprintf('<td class="week_%d">%d</td>',$day->format('w'),$day->format("d"));
}

太線についての質問なのですが,format('w')は0,1,2,3,4,5,6までなのに、なぜ7で割るのでしょうか?
ちょっと、根本的に0~6の数字を割るのか 個数を割っているのか format('w')の性質がわかりません
バカな質問なのですが、ご教授お願いします。

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

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

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

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

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

x_x

2018/07/11 09:40

解決したようですが、あとから見たときにすぐに言語がわかるよう「PHP」タグをつけてもらえないでしょうか?
guest

回答2

0

ベストアンサー

php

1 if($day->format('w')%7 === 0){$body .= "</tr><tr>";}

とかいても

php

1 if($day->format('w') === 0){$body .= "</tr><tr>";}

と書いても、同じ結果になるので意味はない無駄な記述だと思います。

投稿2018/07/07 09:20

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

humuhimi

2018/07/07 10:42

ですよね わかりました ありがとうございます!
guest

0

どんな整数でも、7で割ると余りが0,1,2,3,4,5,6の7種類に分類できます。
それが曜日です。
日曜=0…土曜=6と週の曜日によって割り振っておくと、どのような日付であってもその日付を7で割って余りを求めれば曜日が算出できます。

投稿2018/07/07 09:14

satocha

総合スコア336

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

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

satocha

2018/07/07 09:16

書き忘れました。 %は割る記号ではなく割った余りを求める算術演算子です
humuhimi

2018/07/07 10:43

ありがとうございます! もしfomat(d)などなら%7で割ることで分別できることを理解しました! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問