ロジックの部分になるのですが、phpでformで入力されたdate【2017/01/01】~【2021/01/01】のような場合に2017,2018,2019,2020,2021の数値だけ取得したいのですが可能なのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
可能なのでしょうか?
可能です。
投稿2020/06/30 08:50
総合スコア16
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/30 08:54
2020/06/30 09:04
2020/06/30 09:09
2020/06/30 09:19
0
自己解決
php
1$get_date = new DateTime('2020-01-01'); 2$end_date = new DateTime('2025-01-01'); 3$date = date('2020-01-01'); 4$year = intval($data['date']); 5$get_year_number = $get_date->diff($end_date); 6$encode_year = $get_year_number->y; 7$forYear = self::getYear($encode_year, $year); 8========================================================================================== 9public function getYear($encode_year, $year) 10 { 11 $array = array(); 12 for ($i = 0; $i <= $encode_year; $i++) { 13 array_push($array, $year); 14 $year++; 15 } 16 return $array; 17 }
上記で取得したい結果を表示出来ました。
回答して頂いた皆様ありがとうございました。
投稿2020/06/30 10:45
編集2020/06/30 10:47総合スコア58
0
ざっくりこんな感じ
どこまでチェックするか次第ですね
type="date"の使い方にもよります
PHP
1<?PHP 2$pattern="/^\d{4}-\d{2}-\d{2}$/"; 3$from=filter_input(INPUT_POST,"from",FILTER_VALIDATE_REGEXP,["options"=>["regexp"=>$pattern]]); 4$to=filter_input(INPUT_POST,"to",FILTER_VALIDATE_REGEXP,["options"=>["regexp"=>$pattern]]); 5$years=[]; 6if($from and $to and $from<=$to){ 7 $from_year=substr($from,0,4); 8 $to_year=substr($to,0,4); 9 $years=range($from_year,$to_year); 10} 11print_r($years); 12?> 13<form method="post"> 14FROM:<input type="date" name="from" value="2017-01-01"><br> 15TO:<input type="date" name="to" value="2021-01-01"><br> 16<input type="submit" value="send"> 17</form>
投稿2020/06/30 10:12
総合スコア116724
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
function getYears(string $begin, string $end) { return range( substr($begin, 0, 4), substr($end, 0, 4) ); } var_dump(getYears('2017/01/01', '2021/01/01'));
正常系のみでしたらこれで。
お節介かもしれませんが
次回からは不完全でもいいのでbainaryさんが考えているコードを例示した上でどのようなケースがうまくできない、のように質問されたほうが良いかと思います。
投稿2020/06/30 09:21
総合スコア5036
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/30 09:24
2020/06/30 09:25
2020/06/30 09:52
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。