1. 依赖框架有jq,bootstrap3.0,vue2.0;
  2. 自封装(搬运)时间控件,bootstrap-datetimepicker。资源下载:看这里
  • 需求:
  • 默认本地时间,相隔一个月
  • 四个选项:1一个月,一个季度,半年,一年。
  • 如果结束日期不变,那么默认递增即可,如果结束日期改变了,以变更的日期递增月份。

html结构:

<div id="app">
<div class="col-md-5 form-inline">
<div class="form-group">
<input type="text" class="form-control" id="datetimepicker">--
<input type="text" class="form-control" id="dateEnd">
</div> <div id="tool">
<label>
<input type="radio" name="date" checked @click="dateSet(1)">间隔一个月
</label>
<label>
<input type="radio" name="date" @click="dateSet(4)">间隔四个月
</label>
<label >
<input type="radio" name="date" @click="dateSet(6)">间隔六个月
</label>
<label>
<input type="radio" name="date" @click="dateSet(12)">间隔12个月
</label>
</div>
</div>
</div>

  时间插件:

//首先在date原型上扩展一个自定义时间解析方法
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]) : (("00"+ o[k]).substr((""+ o[k]).length)));
}
}
return fmt;
};
//然后new两个date出来分别是当月和上个月
var begin=new Date();
var end=new Date();
new Date(begin.setMonth((new Date().getMonth()-1)));//-1就是前一个月;+1就是下一个月
var begintime= begin.Format_("yyyy-MM-dd");
var endtime=end.Format_("yyyy-MM-dd");

  vue-逻辑代码

 new Vue({
el:"#app",
data:{
b:begintime,
e:endtime
},
methods:{
dateSet:function (num) {
var thas=this,cacheEnd=thas.e,thisEnd=$('#dateEnd').val();
var begin=new Date();
var end=new Date();
if(cacheEnd==thisEnd){
new Date(begin.setMonth((new Date().getMonth()-num)));//-1就是前一个月;+1就是下一个月
var begintime= begin.Format_("yyyy-MM-dd");
$('#datetimepicker').val(begintime);
console.log('相同')
}else {
var d = new Date(thisEnd.replace(/-/g,"/"));
d.setMonth(d.getMonth()- num);
var str = d.getFullYear()+"-"+(d.getMonth()>=9?d.getMonth()+1:"0"+(d.getMonth()+1))+"-"+(d.getDate()>9?d.getDate():"0"+d.getDate());
$("#datetimepicker").val(str);
console.log('不同')
}
}, }
});

  初始化时间容器

//time时间插件
$('#datetimepicker').datetimepicker({
minView: "month", //很关键,如果不限制到月视图,它默认是到小时的。
todayHighlight:true,
language:'zh-CN',
format:'yyyy-mm-dd',
autoclose: true,
}).val(begintime); $('#dateEnd').datetimepicker({
minView: "month",
todayHighlight:true,
language:'zh-CN',
format:'yyyy-mm-dd',
autoclose: true,
}).val(endtime);

  ps:在搬运代码这条路上,我会一直走下去。

vue小荔枝,时间控件,动态按月份增减。的更多相关文章

  1. bootstrap-table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)

    1.bootstrap-table 单击单行选中 $('#gzrwTable').on('click-row.bs.table', function(e, row, $element) { $('.s ...

  2. vue中时间控件绑定多个输入框

    首先去下载laydate时间控件,引入到相应的模板中 <input type="text" val-required="" value="&qu ...

  3. JSP页面中的精确到秒的时间控件

    技术:Struts1+jsp+MSql 需求:ncmgt网络监控系统中显示用户的操作日志,并且根据操作时间查询用户的详细操作记录.时间精确到秒 大致效果如下.上图! 大家可以清晰的看到.红色画线部分就 ...

  4. 第二章 时间控件(DateTime Picker)

    这家伙太懒了,碰到问题才写博文,嘿嘿. 好了进入正题,二话不说,先放地址: 中文:http://www.bootcss.com/p/bootstrap-datetimepicker/index.htm ...

  5. bootstrap-datetimepicker时间控件

    欢迎各种吐槽. 本人小前端,学习过程中,某日遇到做时间控件的需求,于是无休止的召唤了度娘,发现看不太懂.算是为自己做个笔记,也便于菜鸟级别的看的懂. 首先,我们看看点击选择时间的时候的展示页面吧 年  ...

  6. Bootstrap 时间控件datetimepicker与timepicker

    一.datetimepicker 首先,我们看看点击选择时间的时候的展示页面吧 年                                                月           ...

  7. element ui 时间控件 多个日期

    前言:工作中用到 vue+element ui 的前端框架,需要使用时间控件来选择多个日期,已月日的形式,且有默认值,所以记录一下.转载请注明出处:https://www.cnblogs.com/yu ...

  8. WdatePicker.js的使用方法 帮助文档 使用说明(时间控件)

    WdatePicker.js的使用方法 帮助文档 使用说明(时间控件)   4. 日期范围限制 静态限制 注意:日期格式必须与 realDateFmt 和 realTimeFmt 一致 你可以给通过配 ...

  9. WdatePicker日历控件动态设置属性参数值

    首先吐槽一下需求人员给了我一个很坑的需求:WdatePicker日历控件里面选择的最小时间(minDate)的值是级联动态改变的,而且这个值要从数据库获取,这样子只能使用 ajax 来发起请求获取mi ...

随机推荐

  1. iOS常用RGB颜色的色值

    常用RGB颜色表  色值 R G B 值 R G B 值 R G B 值 黑色 0 0 0 #000000 黄色 255 255 0 #FFFF00 浅灰蓝色 176 224 230 #B0E0E6 ...

  2. *和&的使用

    给变量起一个别名: int a = 2; int &b = a; 取a的地址,实参是一个指针: void chage(int *data) { } void main() { int a = ...

  3. Linux下iptables安全配置

    Linux下配置IPTables,只开放特定端口,禁用其他网络. *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] ...

  4. Intellij IDEA 使用jrebel运行spring-boot并实现自动编译进行热部署

    在使用jrebel运行spring-boot的时候,会发现一个很棘手的问题,就是项目不能自动编译,不能自动编译就不能实现热部署.(使用jar包方式运行的时候) 那么我们就要解决自动编译的问题,首先: ...

  5. python测试rabbitmq简易实例

    生产者 import pika #coding=utf8 credentials = pika.PlainCredentials('guest', '密码') connection = pika.Bl ...

  6. Flume入门——Selector、Chanel等

    1.selector (http://blog.csdn.net/looklook5/article/details/40430965) (http://blog.csdn.net/xiao_jun_ ...

  7. bzoj 1914: [Usaco2010 OPen]Triangle Counting 数三角形——极角排序

    Description 在一只大灰狼偷偷潜入Farmer Don的牛群被群牛发现后,贝西现在不得不履行着她站岗的职责.从她的守卫塔向下瞭望简直就是一件烦透了的事情.她决定做一些开发智力的小练习,防止她 ...

  8. 【BZOJ】1700: [Usaco2007 Jan]Problem Solving 解题

    [题意]给定n道题,每月末发放工资m,要求从1解到n,每道题需要在当月初付费ai,下月初付费bi,多道题可以安排在同月,求最少月数. [算法]DP [题解]参考自:[bzoj1700]Problem ...

  9. JS练习题(左侧菜单下拉+好友选中)

    题一.左侧菜单下拉 做题思路:先做菜单和子菜单,把子菜单默认隐藏.再用JS调样式. <style type="text/css"> *{ margin:0px auto ...

  10. Kubernetes: 集群网络配置 - flannel

    参考: [ Kubernetes 权威指南 ] Kubernetes 集群搭建可以参考 [ Kubernetes : 多节点 k8s 集群实践 ] 在多个 Node 组成的 Kubernetes 集群 ...