bootstrp的datetimepicker插件获取选定日期
碰到一个日期选择,并将日期存储到数据库的需求,需要利用bootstrp的datetimepicker插件获取选定日期,并将其转换为指定字符窜,简单记录下实现的过程。
1. datetimepicker插件的使用
关于datetimepicker插件的官方文档:
http://www.bootcss.com/p/bootstrap-datetimepicker/index.htm
https://eonasdan.github.io/bootstrap-datetimepicker/ (英文原版)
a,首先从第一个链接中下载相应的JS和CSS文件,并进行引用(需要引用bootstrap-min-css和bootstrap.min.js)
CSS
<link rel="stylesheet" type="text/css" href="/static/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/static/datetimepicker/bootstrap-datetimepicker.min.css">
JSS
<script type="text/javascript" src="/static/jquery-3.3.1.js"></script>
<script type="text/javascript" src="/static/bootstrap/js/bootstrap.min.js"></script>
<script src="/static/datetimepicker/bootstrap-datetimepicker.min.js"></script>
<script src="/static/datetimepicker/bootstrap-datetimepicker.zh-CN.js"></script>
b,然后引入插件的布局代码:
- <div class='input-group' style="width: 230px;">
- <input type='text' class="form-control" id='datetimepicker' placeholder="{{ order_date}}"/>
- <span class="input-group-addon">
- <span class="glyphicon glyphicon-calendar"></span>
- </span>
- </div>
其中只要<input>标签中的id=‘’datetimepicker“ 设置好就行,其他的为样式和图标
c,在js代码中进行显示,代码如下:
- <script>
- //日历插件, 官网地址:https://eonasdan.github.io/bootstrap-datetimepicker/
- $('#datetimepicker').datetimepicker({
- minView: "month", //设置月视图
- language: "zh-CN",
- sideBySide: true, // 同时选择日期和时间,此处月视图可以里不用设
- format: 'yyyy-mm-dd', //设置日期显示格式
- startDate: new Date(), //设置开始时间,早于此刻的日期不能选择
- bootcssVer: 3, //显示向左,向右的箭头
- autoclose: true, //选择日期后自动关闭
- todayHighlight: true,
- todayBtn: true,
- }).on('changeDate', change_date);
- function change_date(e) {
- //console.log(e);
- //console.log(e.date);
- //console.log(e.date.valueOf());
- window.choose_date = e.date.format("yyyy-MM-dd");
- //location.href = "/order_list/?order_date=" + window.choose_date;
- };
- //$('#datetimepicker').datetimepicker().on('show',function(e){
- //console.log(e);
- //});
- </script>
其中只要设置 $('#datetimepicker').datetimepicker();就能显示日历,括号中的参数为设置日历的格式,见官网option描述;
为日历绑定事件的基本格式如下面,第一个绑定日期改变事件,当日期变化时会执行后面的匿名函数(也可以将函数定义在外面),第二个绑定显示事件,当日历显示时触发相应的事件,更多事件见官网event描述。
$('#datetimepicker').datetimepicker().on('changeDate',function(e){
})
$('#datetimepicker').datetimepicker().on('show',function(e){
})
函数的参数e中封装了和日期相关的数据,如下面所示,其中两个数据比较重要,e.date能拿到选定的日期时间数据,为js的Date对象,e.timeStamp为时间戳。
至此,datetimepicker布局完成,并为其绑定事件,通过e.date 能拿到用户选择的日期数据,接下来将日期进行格式化成指定字符窜。
2. Date.prototype扩展Date对象
在上述绑定的onchange事件中的代码 e.date.format("yyyy-MM-dd"),format()函数将拿到的e.date转化为了指定格式的字符窜,详细实现如下:
在javascript中,设置Date.prototype可以扩展Date对象,将日期转换为指定格式字符窜:
扩展代码如下:
- // 对Date的扩展,将 Date 转化为指定格式的String
- // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
- // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
- // 例子:
- // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
- // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
- Date.prototype.format = function(fmt)
- {
- var o = {
- "M+" : this.getMonth()+1, //月份
- "d+" : this.getDate(), //日
- "h+" : this.getHours(), //小时
- "m+" : this.getMinutes(), //分
- "s+" : this.getSeconds(), //秒
- "q+" : Math.floor((this.getMonth()+3)/3), //季度
- "S" : this.getMilliseconds() //毫秒
- };
- if(/(y+)/.test(fmt))
- fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
- for(var k in o)
- if(new RegExp("("+ k +")").test(fmt))
- fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : ((""+ o[k]).substr((""+ o[k]).length)));
- return fmt;
- }
使用方法代码: (注意年月日的大小写 yyyy-MM-dd)
- //使用方法
- var now = new Date();
- console.log(now);
- var nowStr = now.format("yyyy-MM-dd hh:mm:ss");
- console.log(nowStr);
- //使用方法2:
- var testDate = new Date();
- console.log(testDate);
- var testStr = testDate.format("yyyy年MM月dd日hh小时mm分ss秒");
- console.log(testStr);
- //示例:
- //alert(new Date().format("yyyy年MM月dd日"));
- //alert(new Date().format("MM/dd/yyyy"));
- //alert(new Date().format("yyyyMMdd"));
- //alert(new Date().format("yyyy-MM-dd hh:mm:ss"));
执行效果如下:
相关博客: https://blog.csdn.net/hizzyzzh/article/details/51212867
bootstrp的datetimepicker插件获取选定日期的更多相关文章
- 1、用datetimepicker插件实现限定时间范围的选择 2、时间插件实现默认当天的时间和只能选择小于今天的日期
一.用datetimepicker插件实现限定时间范围的选择 1.下面是要实现的效果图,让开始时间只能从 2018-7-1 到 2018-7-7 选择. 2.html的结构 <div cla ...
- amazeui-js插件-ui增强-日期组件如何使用(把实例做一下)
amazeui-js插件-ui增强-日期组件如何使用(把实例做一下) 一.总结 一句话总结:需要jquery.js和amazeui.js一切才能使用 1.amazeui中的各种js效果要怎么才能使用? ...
- jeecg中datagrid中获取选定行的字段值
datagrid代码如下: <t:datagrid name="orderMainList" checkbox="true" pagination=&qu ...
- 使用jQuery的datetimepicker插件
因为后台系统要使用年月日时分的设置,又因为使用的Bootstrap框架只有datepicker和timepicker控件.所以在jQuery库中找到轻量级的datetimepicker插件,很好地解决 ...
- js 根据年月获取当月有多少天_js获取农历日期_及Js其它常用有用函数
//根据年月获取当月有多少天 function getDaysInMonth(year, month) { debugger; //parseInt(number,type)这个函数后面如果不跟第2个 ...
- C#获取指定日期为一年中的第几周
/// <summary> /// 获取指定日期,在为一年中为第几周 /// </summary> /// <param name="dt">指 ...
- js处理日期的一些整理(js获取给定日期前一天的日期)
var date = new Date(); alert(date);//获取当前时间 alert(date.getFullYear());//获取当前年分 alert(date.getMonth() ...
- PHP获取时间日期的多种方法
分享下PHP获取时间日期的多种方法. <?php echo "今天:".date("Y-m-d")."<br>"; ...
- php获取指定日期所在星期的开始时间与结束时间
function getWeekRange($date){ $ret=array(); $timestamp=strtotime($date); $w=strftime('%u',$ ...
随机推荐
- springboot集成websocket的两种实现方式
WebSocket跟常规的http协议的区别和优缺点这里大概描述一下 一.websocket与http http协议是用在应用层的协议,他是基于tcp协议的,http协议建立链接也必须要有三次握手才能 ...
- python 利用pyttsx3文字转语音(转)
原文链接作者 # -*- coding: utf-8 -*- import pyttsx3 engine = pyttsx3.init() with open("all.txt", ...
- go语言入门(6)复合类型
1,分类 2,指针 指针是一个代表着某个内存地址的值.这个内存地址往往是在内存中存储的另一个变量的值的起始位置. 1)基本操作 Go语言虽然保留了指针,但与其它编程语言不同的是: 默认值 nil,没有 ...
- 学习手写vue,理解原理
class Compiler{ constructor(el,vm){ // 判断el属性 是不是 一个元素, 如果不是就获取 this.el = this.isElementNode(el)?el: ...
- 使用JS和PHP导出table表格
把table表格的内容导出成excel 或者word等格式(简单容易不需要太多php) 导出需注意 1. 样式都在行间,导出excel表格会继承样式包括colspan.rowspan,非表格元素,样式 ...
- websocket + TP5.1 + apache 配置步骤
websocket + TP5.1 + apache 配置步骤 1. https ssl配置好 2. 检查php环境是否满足Workerman要求 curl -Ss http://www.worker ...
- Linux内核卸载和禁止更新
注意:对于可以用好几条命令实现的,第一条命令已经验证,其他的命令参考自网上,没有进行验证. 查看Linux系统内核的命令有下面几条 dpkg --get-selections | grep linux ...
- pip报错以及指向错误
在终端中输入无论是pip3 -V或是pip -V都指向python3 如下图所示: 然后在卸载或更新pip 时都出现了报错: 就是卸载也卸不了更新也更不了 解决报错: Traceback (most ...
- 下划线文字,鼠标hover小样式
CSS样式 //不只是a标签,其他有下划线的字体也可以 a:hover{ color: #ff3100; //这里的颜色是指字体颜色不是波浪下划线效果的svg图颜色 text-decorati ...
- python+Appium自动化:app滑动操作swipe
swipe Appium使用滑动操作用到了swipe方法,定义如下: swipe(self, start_x, start_y, end_x, end_y, duration=None) 从一个点滑动 ...