1. <!--
  2. 在3.x的版本使用:
  3. 官网:https://www.malot.fr/bootstrap-datetimepicker/
  4. 中文翻译:https://www.bootcss.com/p/bootstrap-datetimepicker/
  5. -->
  6. <!-- 需要引入css和js -->
  7. <link rel="stylesheet" href="css/bootstrap-datetimepicker.css">
  8. <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
  9. integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
  10. crossorigin="anonymous"></script>
  11. <script src="js/bootstrap-datetimepicker.js"></script>

image.png

1、基本属性

  1. <div class="container">
  2. <div class="row">
  3. <div class="col">
  4. <div class="form-group form-inline">
  5. <label for="datetime">日期:</label>
  6. <input type="text" class="form-control datetime" id="datetime"> <!-- class的datetime是自己给的 -->
  7. </div>
  8. </div>
  9. </div>
  10. </div>
  11. <script>
  12. //设置中文
  13. ; (function ($) {
  14. $.fn.datetimepicker.dates['zh-CN'] = {
  15. days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"],
  16. daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"],
  17. daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"],
  18. months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
  19. monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
  20. today: "今天",
  21. suffix: [],
  22. meridiem: ["上午", "下午"]
  23. };
  24. }(jQuery));
  25. $('.datetime').datetimepicker({
  26. //格式化日期
  27. format: 'yyyy-mm-dd hh:ii', //小时分钟
  28. format: 'yyyy-mm-ddThh:ii', //T:表示后面是真实时间
  29. format: 'yyyy-mm-dd hh:ii:ss', //时分秒
  30. format: 'yyyy-mm-dd hh:ii:ssZ', //Z:本地时间的时区
  31. format: 'yyyy-mm-dd hh:ii:ss P',//P:大写的am和pm
  32. format: 'yyyy-mm-dd H:ii:ss p', //p:小写的am和pm H:十二小时制
  33. format: 'yyyy-m-dd', //月份不补0
  34. format: 'yyyy-mm-dd',
  35. weekStart: 1, //一周从哪一天开始,0-6(周日-周六)
  36. /* startDate:new Date(), //能够选择到的开始日期
  37. endDate:new Date(2020,1,1), //能够选择到的结束日期:月份从0开始,所以是2月1号 */
  38. daysOfWeekDisabled: [1, 3, 5], //一周里周几不能选择到(字符串和数组都可)
  39. autoclose: true, //当选择到一个日期后,是否自动关闭日期选择器
  40. startView: 0, //0或者'hour':从小时视图开始,选分
  41. startView: 1, //1或者'day':从天视图开始,选小时
  42. startView: 2, //2或者'month':从月视图开始,选天(这是默认的)
  43. startView: 3, //3或者'year':从年视图开始,选月
  44. startView: 4, //4或者'decade':从十年视图开始,选年
  45. startView: 2, //还原
  46. //日期时间选择器最低能够选择到的日期类型
  47. minView: 0, //0或者'hour':能选择到分(这是默认的)
  48. minView: 1, //1或者'day':能选择到小时
  49. minView: 2, //2或者'month':能选择到天
  50. minView: 3, //3或者'year':能选择到月
  51. minView: 4, //4或者'decade':能选择到年
  52. minView: 0, //还原
  53. //最大能够选择到的日期类型。是通过点击头部的日期来选择。演示234就够了,最大的值权限为2了
  54. maxView: 0, //0或者'hour':能选择到分
  55. maxView: 1, //1或者'day':能选择到小时
  56. maxView: 2, //2或者'month':能选择到天
  57. maxView: 3, //3或者'year':能选择到月
  58. maxView: 4, //4或者'decade':能选择到年(这是默认的)
  59. todayBtn: true, //是否显示回到今天的按钮
  60. keyboardNavigation: true, //是否可以通过键盘选择日期
  61. language: 'zh-CN', //语言选择
  62. minuteStep: 10, //最小分钟间隔数,默认为5
  63. pickerPosition: 'bottom-right', //日期组件显示的位置
  64. showMeridian: true, //在日期界面上是否显示上下午,默认false
  65. });
  66. </script>

2、方法和事件

  1. <script>
  2. //方法
  3. //datetimepicker:初始化
  4. /* $('.datetime').datetimepicker('remove'); //移除日期时间选择器组件
  5. $('.datetime').datetimepicker('show'); //显示日期时间选择器组件
  6. setTimeout(function(){
  7. $('.datetime').datetimepicker('hide'); //隐藏日期时间选择器组件
  8. },5000); */
  9. $('.datetime').datetimepicker('setStartDate', '2019-10-01');//设置日期选择器的起始日期
  10. $('.datetime').datetimepicker('setEndDate', '2020-10-01');//设置日期选择器的结束日期
  11. $('.datetime').datetimepicker('setDaysOfWeekDisabled', [0, 6]);//设置不可选的星期
  12. //事件
  13. $('.datetime').datetimepicker() //先初始化
  14. //日期选择器显示事件
  15. .on('show', function () {
  16. console.log('日期选择器组件显示了');
  17. })
  18. //日期选择器隐藏事件
  19. .on('hide', function () {
  20. console.log('日期选择器组件隐藏了');
  21. })
  22. //日期变动事件
  23. .on('changeDate', function () {
  24. console.log('日期变动了');
  25. })
  26. //年份变动事件
  27. .on('changeYear', function () {
  28. console.log('年份变动了')
  29. })
  30. //月份变动事件
  31. .on('changeMonth', function () {
  32. console.log('月份变动了')
  33. })
  34. //超出选择日期范围事件
  35. .on('outOfRange', function () {
  36. console.log('你选择的日期超出范围了')
  37. })
  38. </script>