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

回答編集履歴

1

修正

2019/11/09 06:58

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -4,4 +4,45 @@
4
4
 
5
5
  > どうすれば良いかわからず困っています
6
6
 
7
- 仕様を確定させてください。
7
+ 仕様を確定させてください。
8
+
9
+
10
+ -------------------
11
+ 適当サンプルコード (超冗長版)
12
+ 日数を主にするとこうなる例。
13
+
14
+ ```php
15
+ <?php
16
+ $from = '2000年1月';
17
+ $to= '2001年2月';
18
+
19
+ $from_time = strtotime(str_replace('年','/',str_replace('月','/',$from)).'01');
20
+ $to_time = strtotime(str_replace('年','/',str_replace('月','/',$to)).'01');
21
+
22
+ $diff = ($to_time-$from_time);
23
+ $day_diff = $diff/ (60 * 60 * 24);
24
+ echo $day_diff. '日'.PHP_EOL;
25
+ $year_diff = $day_diff/365;
26
+ echo $year_diff.'年'.PHP_EOL;
27
+
28
+ $yr = floor($year_diff);
29
+ if($yr >= 0){
30
+ echo $yr."年";
31
+ }
32
+ $mr = ($year_diff-$yr)/(1/12);
33
+ if($mr >= 0){
34
+ echo ceil($mr)."ヶ月";
35
+ }
36
+
37
+ ```
38
+
39
+ 結局のところ仕様確定待ち。
40
+
41
+ 最初の方で「もっとパターンを出して」と突っ込まれている通り、
42
+ 本人も気づいていない仕様の漏れが沢山あるので、もっと考察していく必要があります。
43
+ 現場でもお客さんが気づいてない漏れとかがあるわけで、そこをヒアリングで詰めて要件定義をしていくわけですが、
44
+ ここでは質問者は**お客さんではない**ので、様々なパターンケースを出していって仕様を改定した上で質問をする必要があります。
45
+ 質問テンプレートの「前提・実現したいこと」の項目は実は質問本文で最も丁寧でしっかり書き込まれている必要があります。
46
+
47
+ 1つのことを実現するためのコードは1つではないですが、
48
+ その「1つのこと」が決まっていないので無限の可能性からの中から**赤の他人が**模索する必要がある質問はとても良い質問とは言えませんし、解決に至らずどんどん時間が過ぎるだけになっていきます。