【bootstrap-datetimepicker】

  datetimepicker是一个比较方便的日期时间插件。有了这个之后,我们可以在类似于表单的地方提供一个友好的日期(时间)输入功能。官方文档:【http://www.bootcss.com/p/bootstrap-datetimepicker/】

  要使用datetimepicker组件,首先引入一些文件:

<link href="{% static 'bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css' %}" rel="stylesheet">

<script src="{% static 'bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js' %}"></script>
<script src="{% static 'bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js' %}"></script>

  同样这里没有写出来bootstrap的css和js以及jquery,但都是也要包含的。

  ■  典型应用:

  HTML写成这样:

<div class="input-group date">
<input type="text" class="form-control" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>

  然后在js中这样写:

var today = new Date();
var format_td = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
$('.input-group.date').datetimepicker({
format: 'yyyy-mm-dd hh:00',
language: 'zh-CN',
todayBtn: 'linked',
maxView: 3,
minView: 1,
autoClose: true,
minuteStep: 30,
startDate: format_td,
pickerPosition: 'bottom-right'
});

  我们就可以在页面上得到一个输入框(type还是text的,不是date或者datetime),然后这个输入框右边会带有一个日历图标(input-group-addon),然后点击输入框或日历时会跳出一个日历来供用户选择具体的日期时间。选择完成后输入框中会出现特定格式的时间字符串,供表单提取数据或其他用。

  下面来解释一下在这个初始化过程中,各个参数的含义:

  format  指出了最后在输入框中的字符串的样式,上面这个yyyy-mm-dd hh都是格式化字符串,对应于类似"2017-01-01 08"(2017年1月1日上午8时)这样子。而:00是我固定写死的。更多的还有hh:ii:ss表示精确到秒的时间格式等,至于两位年份,一位小时数等等可以去官方文档看格式化字符串的写法。

  language  国际化显示适应,需要引入bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js才可顺利显示中文。

  todayBtn  可以设置为true,false或者'linked'。让日历组件下方有一个“今天”按钮。说是“今天”,其实应该是“现在”,如果是true则点击后跳转到当前日期;如果是'linked'则点击时自动选中当前时间日期并且写入输入框

  maxView,minView  日历组件可以根据需要分成好多不同的维度来看,这两个参数用来控制用户能够到达的最宏观和最微观的维度。值的各个数字的含义是:0-小时;1-天;2-月;3-年;4-十年。其默认值分别是0和4。另外还有startView参数用来指出点击调用日历控件时默认显示的维度。默认值是2

  autoClose  当选择一个日期后关闭此日历控件

  minuteStep  控制分钟选择的粒度。在时间下面,我们还可以选择具体到多少分钟。比如点击14:00,这个值是30的话,我们能够点击14:00和14:30

  startDate,endDate  分别指出该日历能够选择的最早和最晚日期。从上面的代码中也可以看出来其取值是个yyyy-mm-dd格式的字符串。实际上也可以是个Date对象,也就是说这里写new Date()也完全可以。另外提一下,Date对象getMonth的值是从0开始到11的,getFullYear才是获取4位数年份的方法。

  pickerPosition  指出日历控件出现相对于输入框的位置,默认值就是bottom-right,也可以top-left之类的

  daysOfWeekDisabled  一个数组,指出一个星期的星期X不能被选择。需要注意的是这里day是西方那一套,也就是如果值是[0,6]就可以把周末都disabled掉,而非[6,7]。

  初始化参数就说这么多吧,更多的可以参考文档

  ■  编程控制和方法

  datetimepicker方法不仅可以用于初始化控件,还可以在初始化完成之后,传入不同的参数来实现不同的编程控制。比如:

$('#testdp').datetimepicker('show')  //显示日历
$('#testdp').datetimepicker('hide') //隐藏日历
$('#testdp').datetimepicker('update') //将输入框中的日期字符串解析并反映到日历汇总 $('#testdp').datetimepicker('setStartDate','2017-01-01') //或者null,用来设置日历最早可选日期
/*类似的很多参数也可以这么设置
比如
setEndDate
setDaysOfWeekDisabled
...
*/

  ■  事件

  datetimepicker留出了一些事件的接口供我们调用比如

  show , hide , changeDate,changeYear,changeMonth这些都一目了然

  outOfRange  当用户试图在日历上选择超出了我们设置的范围(由startDate,endDate,daysOfWeekDisabled等决定)的日期时触发的事件

  嗯 datetimepicker基本上就是这样了,没有什么很复杂的地方

【Bootstrap】bootstrap-datetimepicker日期时间插件的更多相关文章

  1. dateTimePicker日期时间插件-----限定节假日调休的可选择性

    需求:在项目中需要一款这样的日期插件,可以选择年月日,时分秒,对法定节假日不能选择,因法定节假日进行的调休可以选择: 现在使用的比较多的日期插件比如:Wdatepicker,jqueryUI的date ...

  2. Mint-UI 的 DatetimePicker 日期时间插件的安装与使用

    简介:Mint-UI是饿了么出品的基于vue的移动端组件库(element-ui是桌面端) 官网:http://mint-ui.github.io/docs/#/zh-cn2 项目环境:vue-cli ...

  3. angularjs封装bootstrap官网的时间插件datetimepicker

    背景:angular与jquery类库的协作 第三方类库中,不得不提的是大名鼎鼎的jquery,现在基本上已经是国内web开发的必修工具了.它灵活的dom操作,让很多web开发人员欲罢不能.再加上已经 ...

  4. Bootstrap中datetimepicker日期控件1899年问题解决

    Bootstrap中datetimepicker日期控件1899年问题解决 最近在开发项目的过程中,遇到一个很尴尬的问题.我们项目一直采用的是angular+bootstrap,日期控件用的是boot ...

  5. vue使用日期时间插件layDate

    项目中需要用到日期时间插件,尝试用bootstrap.element的时间插件都各有各的报错,对于一个菜鸟来说真的是很痛苦啊.终于,最后用了layDate实现了需要的功能 最终效果: 使用步骤: 1. ...

  6. 原生js日期时间插件鼠标点击文本框弹出日期时间表格选择日期时间

    原文出处 (这是我从互联网上搜来的,感觉能满足各方面的需求.个人感觉挺不错的,所以后期修改了一下向大家推荐!) 效果图: html代码: <!DOCTYPE html PUBLIC " ...

  7. 日期时间插件flatpickr.js使用方法

    今天写代码时需要用一款插件来实现对input输入时间的格式控制,找到了两款功能合适而且比较美观的插件:基于Bootstrap的DateTimePicker.js和flatpickr.js插件.一开始先 ...

  8. jquery datetimepicker 日期时间控件的使用及参数说明

    首先下载 jquery.datetimepicker.css jquery.datetimepicker.main.js 1. 引入css和js (注:该控件要依赖于jquery) <link ...

  9. jquery仿ios日期时间插件

    Demo下载: 手机时间控件.zip 使用之前,请在页面中加入以下js和css: jquery-1.9.1.js mobiscroll.core-2.5.2.js mobiscroll.core-2. ...

随机推荐

  1. BIOS简介

    BIOS简介: BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统".其实,它是一组固化到计 ...

  2. mysql学习笔记03 mysql数据类型

    数值型:整数型 小数型字符串型时间和日期类型 数值型①整数型1 2 3 4 81bin表示1位,1Byte表示一个字节1B=8b.1汉字=2字节(1 word = 2 byte)1字节=8位(1 by ...

  3. Caused by: java.lang.ClassNotFoundException: org.aspectj.lang.annotation.Around

    1.错误描述 INFO:2015-05-01 11:12:15[localhost-startStop-1] - Root WebApplicationContext: initialization ...

  4. Ubuntu Desktop变为Ubuntu Server服务器版的方法

    去Ubuntu官网看到有好几种版本可以下载,alternate(文本安装).desktop9(桌面).netbook(上网本).server(服务器). 使用server版某个理由: 32位的系统可以 ...

  5. CentOS添加磁盘分区

    (这里的磁盘在vmware workstation VM中添加) 1.关闭虚拟机,在虚拟机设置中添加一个硬盘,然后开启虚拟机. 2.使用fdisk -l命令查看,这时会发现一个为被使用的设备,有2G的 ...

  6. iOS - IM 即时通讯

    1.即时通讯技术 即时通讯(IM:Instant Messaging):又称实时通讯,支持用户在线实时交谈,允许两人或多人使用网络实时的传递文字消息.文件.语音与视频交流. 即时通讯在开发中使用的场景 ...

  7. 关于spring事务注解实战

    1.概述 spring的事务注解@Transaction 相信很多人都用过,而@Transaction 默认配置适合80%的配置. 本篇文章不是对spring注解事务做详细介绍,而是解决一些实际场景下 ...

  8. View的平移、缩放、旋转以及位置、坐标系

    原创 2015年05月12日 13:15:29 标签: Android / Scroll / Scale / Translation / Rotation 24733 Android开发中,经常会接触 ...

  9. SVN的安装以及和eclipse的结合使用

    SVN概述 l 通常软件开发由多人协作开发,如果对代码文件.配置文件.文档等没有进行版本控制,将会出现很多问题: l 备份多个版本,占用磁盘空间大 l 解决代码冲突困难 l 容易引发BUG l 难于追 ...

  10. 洛谷P3459 [POI2007]MEG-Megalopolis(树链剖分,Splay)

    洛谷题目传送门 正解是树状数组维护dfn序上的前缀和,这样的思路真是又玄学又令我惊叹( 我太弱啦,根本想不到)Orz各路Dalao 今天考了这道题,数据范围还比洛谷的小,只有\(10^5\)(害我复制 ...