Bootstrap4+jQueryでカレンダーを使ってみよう！

ども！デザインエンジニアのMasaです。
<img src="https://storage.googleapis.com/edd-homepage/IntroductionEdD/img/masa.png" width=30%>
#なんのために共有するのか？
初心者が自走できるようになるまでのあしあとを残すことによって、後から学習する人がどういう道のりをたどればいいのかわかるようにするために書きます！
**疑問が解消されたり、不安が少しでも減ったら、左のいいねボタンをポチッとお願いします！**

#動かすための前提条件

bootstrap4とjQueryとmoment.jsとtempusdominus bootstrap4の合計4つのライブラリをhtml内に記述してあげる必要性がある。

```html:html
<head>
  <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
  <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.js"></script>
  <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.0-alpha14/js/tempusdominus-bootstrap-4.min.js"></script>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.0-alpha14/css/tempusdominus-bootstrap-4.min.css" />
</head>

```

bootstrap4のCDNはこちら
https://cccabinet.jpn.org/bootstrap4/getting-started/introduction

jqueryのCDNはこちら
https://code.jquery.com/

moment.jsのCDNはこちら
https://cdnjs.com/libraries/moment.js/2.22.2

tempusdominus bootstrap4のCDNはこちら
https://tempusdominus.github.io/bootstrap-4/Installing/
↑このサイトを忠実に再現すればカレンダーを部分的に利用することができます。
例えば、日付のみ、時間のみ、日付＋時間など様々な部品が用意されていて超便利なので

#さぁ、カレンダーを使うぞ！
まるごとindex.htmlファイルにでもコピーすれば使うことができます。
いったん、動かしてみたいぞ！という人はコピペでどうぞ！
(bootstrapのグリッドデザインを使っているのでそのあたりはご了承を）

```html:html
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>ToDoアプリ</title>
  <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
  <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
  <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.js"></script>
  <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.0-alpha14/js/tempusdominus-bootstrap-4.min.js"></script>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.0-alpha14/css/tempusdominus-bootstrap-4.min.css" />

  <style type="text/css">
  .datepicker-days th.dow:first-child,
  .datepicker-days td:first-child {
    color: #f00;
  }
  .datepicker-days th.dow:last-child,
  .datepicker-days td:last-child {
    color: #00f;
  }
  </style>
</head>
<body>

  <div class="container-fluid text-center">
    <div class="row">
      <div class="col-md-3">
      </div>
      <div class="col-md-6"> <!-- new todo -->
        <form>
          <div class="container">
            <label class="control-label">Deadline</label>
            <div class="form-group">
              <div class="input-group date" id="datetimepicker4" data-target-input="nearest">
                <input type="text" class="form-control datetimepicker-input" data-target="#datetimepicker4"/>
                <div class="input-group-append" data-target="#datetimepicker4" data-toggle="datetimepicker">
                  <div class="input-group-text"><i class="fa fa-calendar"></i></div>
                </div>
              </div>
            </div>
            <script type="text/javascript">
            $(function () {
              $('#datetimepicker4').datetimepicker({
                format: 'L'
              });
            });
            </script>
          </div>

          <div class="container">
            <div class="form-group">
              <div class="input-group date" id="datetimepicker3" data-target-input="nearest">
                <input type="text" class="form-control datetimepicker-input" data-target="#datetimepicker3"/>
                <div class="input-group-append" data-target="#datetimepicker3" data-toggle="datetimepicker">
                  <div class="input-group-text"><i class="fa fa-clock-o"></i></div>
                </div>
              </div>
            </div>

            <script type="text/javascript">
            $(function () {
              $('#datetimepicker3').datetimepicker({
                format: 'LT'
              });
            });
            </script>

          </div>

        </form>

      </div> <!-- close new todo  -->
      <div class="col-md-3">
      </div>

    </div>   <!--close row-->
  </div>    <!--close container-->

</body>
</html>

```

#最後に
記事ではスラッと書いてるんですが、
結構どツボにはまって1時間くらい「動かーん！」と部屋の中で言ってたりしました。

**疑問が解消されたり、不安が少しでも減ったら
左のいいねボタンをポチッとお願いします！**
ではではドロン！
<img src="https://storage.googleapis.com/edd-homepage/IntroductionEdD/img/masa.png" width=30%>
処女作：エロ診断メーカー(共同製作：Kei)
https://ero-shindan.herokuapp.com/

Ed.D~Eros Driven Development~
https://storage.googleapis.com/edd-homepage/IntroductionEdD/index.html

#参考文献
tempusdominus bootstrap4の存在を教えていただきました。
また、カレンダーのアイコンがうまく表示されない問題を解決するヒントをいただきました。
https://qiita.com/yaju/items/2cbe5e5914c5be08820a