teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

加筆修正

2017/05/15 09:46

投稿

退会済みユーザー
answer CHANGED
@@ -30,4 +30,7 @@
30
30
  echo $interval->days * 24 * 60 + $interval->h * 60 + $interval->i;
31
31
  ```
32
32
  結果
33
- ![実行結果2](a01f664dde363db525399f21dacae702.png)
33
+ ![実行結果2](a01f664dde363db525399f21dacae702.png)
34
+
35
+ DateTimeクラスを継承して分の差分を出せるメソッドを追加したものを作れば、
36
+ 利便性は上がりそうです。

1

加筆修正

2017/05/15 09:46

投稿

退会済みユーザー
answer CHANGED
@@ -12,4 +12,22 @@
12
12
  echo $interval / 60;
13
13
  ```
14
14
  結果
15
- ![実行結果](592e5e17a373f82a368f90be54746418.png)
15
+ ![実行結果](592e5e17a373f82a368f90be54746418.png)
16
+
17
+ ---
18
+
19
+ どうしてもDateTime::diff()を使いたいのであれば、
20
+
21
+ https://3v4l.org/jRTld
22
+ ```php
23
+ <?php
24
+
25
+ $datetime1 = new DateTime('2010-01-01 10:00');
26
+ $datetime2 = new DateTime('2010-02-01 11:00');
27
+ $interval = $datetime1->diff($datetime2);
28
+
29
+ // %a で総日数が出せる
30
+ echo $interval->days * 24 * 60 + $interval->h * 60 + $interval->i;
31
+ ```
32
+ 結果
33
+ ![実行結果2](a01f664dde363db525399f21dacae702.png)