回答編集履歴

3

編集

2017/03/29 05:36

投稿

shi_ue
shi_ue

スコア4437

test CHANGED
@@ -1,14 +1,14 @@
1
1
  ```php
2
2
 
3
+ $t = strtotime($time);
3
4
 
5
+ $month = date('n', $t);
4
6
 
5
- $month = date('n', $time);
7
+ $year = date('Y', $t);
6
8
 
7
- $year = date('Y', $time);
9
+ if (mktime(0, 0, 0, $month , 1, $year) <= $t && // 当月の1日以上
8
10
 
9
- if (mktime(0, 0, 0, $month , 1, $year) <= $time && // 当月の1日以上
10
-
11
- mktime(0, 0, 0, $month + 3, 1, $year) > $time) { // 翌々々月の1日未満(つまり再来月末23:59:59以下)
11
+ mktime(0, 0, 0, $month + 3, 1, $year) > $t) { // 翌々々月の1日未満(つまり再来月末23:59:59以下)
12
12
 
13
13
  // true
14
14
 

2

追記

2017/03/29 05:36

投稿

shi_ue
shi_ue

スコア4437

test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  if (mktime(0, 0, 0, $month , 1, $year) <= $time && // 当月の1日以上
10
10
 
11
- mktime(0, 0, 0, $month + 3, 1, $year) > $time) { // 翌々々月の1日未満(つまり翌々月末23:59:59以下)
11
+ mktime(0, 0, 0, $month + 3, 1, $year) > $time) { // 翌々々月の1日未満(つまり再来月末23:59:59以下)
12
12
 
13
13
  // true
14
14
 
@@ -21,3 +21,5 @@
21
21
  }
22
22
 
23
23
  ```こんな感じ?
24
+
25
+ `mktime`は15月とか34日とかを受け入れるので便利ですよ。

1

間違えた

2017/03/29 04:21

投稿

shi_ue
shi_ue

スコア4437

test CHANGED
@@ -6,9 +6,9 @@
6
6
 
7
7
  $year = date('Y', $time);
8
8
 
9
- if (mktime(0, 0, 0, $month - 1, 1, $year) <= $time && // 月の1日以上
9
+ if (mktime(0, 0, 0, $month , 1, $year) <= $time && // 月の1日以上
10
10
 
11
- mktime(0, 0, 0, $month + 2, 1, $year) > $time) { // 翌々月の1日未満(つまり翌月末23:59:59以下)
11
+ mktime(0, 0, 0, $month + 3, 1, $year) > $time) { // 翌々月の1日未満(つまり翌月末23:59:59以下)
12
12
 
13
13
  // true
14
14