前提・実現したいこと
JavaのSpringboot(Thymeleaf)などを使い、日付計算のWebアプリを作っています。
西暦⇒和暦、和暦⇒西暦の変換。
現在の日時に日数を加算し、何月何日何曜日になるのかを表示するアプリになります。
【実現したいこと】
現在日時を取得し、Web上に表示することができたので、
別の入力フォームに入力された数字を日数に加算し、
計算結果を下記に表示させる処理を行いたいです。
該当のソースコード
Java
1import java.time.LocalDateTime; 2 3import org.springframework.stereotype.Controller; 4import org.springframework.ui.Model; 5import org.springframework.web.bind.annotation.RequestMapping; 6import org.springframework.web.bind.annotation.RequestMethod; 7 8@Controller 9public class DayCountController { 10 11 @RequestMapping(value = "/daycount", method = RequestMethod.GET) 12 public String index(Model model) { 13 14 LocalDateTime years = LocalDateTime.now(); 15 16 years = years.plusDays(0); 17 18 19 //現在日時から年を取得する 20 int yearnow = years.getYear(); 21 22 //現在日時から月を取得する 23 int month = years.getMonthValue(); 24 25 ////現在日時から日を取得する 26 int day = years.getDayOfMonth(); 27 28 29 model.addAttribute("yearnow", yearnow); 30 31 model.addAttribute("monthpull", month); 32 33 model.addAttribute("daypull", day); 34 35 return "daycount"; 36 } 37}
html
1<!DOCTYPE html> 2<html xmlns="http://www.w3.org/1999/xhtml" 3 xmlns:th="http://www.thymeleaf.org"> 4<head> 5<meta charset="UTF-8"> 6<title>DayCount</title> 7</head> 8<body> 9 <h1>日付計算</h1> 10 11 <div> 12 <span> 13 <select> 14 <option value="seireki">西暦</option> 15 <option value="reiwa">令和</option> 16 <option value="heisei">平成</option> 17 <option value="syowa">昭和</option> 18 <option value="taisyo">大正</option> 19 <option value="meiji">明治</option> 20 </select> 21 </span> 22 23 <span> 24 <input type="text" th:value="${yearnow}" size=6 /> 年 25 </span> 26 27 <span><!-- 現在の「月」表示 --> 28 <select> 29 <option style ="visibility:hidden;" th:value="${monthpull}" th:text="${monthpull}" ></option> 30 <option value="1">1</option> 31 <option value="2">2</option> 32 <option value="3">3</option> 33 <option value="4">4</option> 34 <option value="5">5</option> 35 <option value="6">6</option> 36 <option value="7">7</option> 37 <option value="8">8</option> 38 <option value="9">9</option> 39 <option value="10">10</option> 40 <option value="11">11</option> 41 <option value="12">12</option> 42 </select> 月 43 </span> 44 45 <span> <!-- 現在の「日」表示 --> 46 <select> 47 <option style ="visibility:hidden;" th:value="${daypull}" th:text="${daypull}"></option> 48 <option value="1">1</option> 49 <option value="2">2</option> 50 <option value="3">3</option> 51 <option value="4">4</option> 52 <option value="5">5</option> 53 <option value="6">6</option> 54 <option value="7">7</option> 55 <option value="8">8</option> 56 <option value="9">9</option> 57 <option value="10">10</option> 58 <option value="11">11</option> 59 <option value="12">12</option> 60 <option value="13">13</option> 61 <option value="14">14</option> 62 <option value="15">15</option> 63 <option value="16">16</option> 64 <option value="17">17</option> 65 <option value="18">18</option> 66 <option value="19">19</option> 67 <option value="20">20</option> 68 <option value="21">21</option> 69 <option value="22">22</option> 70 <option value="23">23</option> 71 <option value="24">24</option> 72 <option value="25">25</option> 73 <option value="26">26</option> 74 <option value="27">27</option> 75 <option value="28">28</option> 76 <option value="29">29</option> 77 <option value="30">30</option> 78 <option value="31">31</option> 79 </select> 日 80 </span> 81 </div> 82 83 <div> 84 <p><!-- テキストフォームに入力された値を日数に加算したい--> 85 +日数 <input type="text" name=dayplus value="10" size=5> 日 86 </p> 87 88 <p> 89 初日を <input type="radio" name="day">数えない 90 <input type="radio" name="day">数える 91 </p> 92 </div> 93 94 <div><!--ボタン 計算処理 --> 95 <p> 96 <input type="submit" value="計算"> 97 </p> 98 </div>
試したこと
LocalDateTimeのplusDaysを使ってみました。引数に整数を入れるだけで計算はされるのですが、フォームに直接入力された値を取得する記述方法がわかりませんでした。
あとはCalender、scannerなどが使えそうだと思うのですが、現在調べていて未だに答えにはたどりついていません。
言葉にするのも難しく、わかりずらいところも多々あるかと思いますが、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー