日付と時刻ピッカーを作成し、様々なオプションによりカスタマイズできる軽量なJavaScriptライブラリ「flatpickr」を紹介します。
最小および最大日付の設定や日付フォーマットをカスタマイズ、特定の日付や日付の範囲を有効または無効にすることができるなど多数の機能とオプションがあります。
flatpickrの実装方法
CSSとJSのCDNを読み込みます。
CDNを読み込んだら、入力フォームを設置
以下の様に呼び出すだけで日付選択用のカレンダーが表示されます

日本語化
日本語化するライブラリを読み込み「locale」オプションに「ja」を設定

テーマをダークに
テーマの種類はこちらから確認できます
https://flatpickr.js.org/themes/
以下より動作確認が可能です
デフォルト
日本語表示
複数選択
範囲選択
時間も選択可能にする
時間だけ表示
その他のオプションは以下のサンプルが参考になります。