javascript显示上周、上个月日期的处理方法


Posted in Javascript onFebruary 03, 2016

本文实例介绍了javascript一周前、一个月前的实现代码,对于javascript日期处理进行了简单分析,分享给大家供大家参考,具体内容如下

<html>
<head>
 <title></title>
 <script src="../Script/jQuery/jquery-1.6.2.min.js" type="text/javascript"></script>
 <script src="../Script/MTHCRMWidget/MTHCRMWidget.js" type="text/javascript"></script>
 <script type="text/javascript">
  $(function () {
   myClick();//点击事件触发
  })

  //专门包装点击事件;
  function myClick() {
   $(".tbBtn").click(function () {
    var sid = $(this).attr("id");
    var agoDate = "";
    var Cdate = new Date();
    if (sid == "CbtnNull") {
     $("#txtCallCycleBegin").val("");
     $("#txtCallCyclecurrend").val("");
    } else if (sid == "CbtnMoon") {
     agoDate = ProcessDate(30);
     $("#txtCallCycleBegin").val("{0}-{1}-{2}".format(agoDate.Year, agoDate.Moon, agoDate.Day));
     $("#txtCallCyclecurrend").val("{0}-{1}-{2}".format(Cdate.getFullYear(), Cdate.getMonth() + 1, Cdate.getDate()));
    } else {
     agoDate = ProcessDate(7);
     $("#txtCallCycleBegin").val("{0}-{1}-{2}".format(agoDate.Year, agoDate.Moon, agoDate.Day));
     $("#txtCallCyclecurrend").val("{0}-{1}-{2}".format(Cdate.getFullYear(), Cdate.getMonth() + 1, Cdate.getDate()));
    }
   })
  }

  //处理日期的函数,返回一个字面量;
  function ProcessDate(type) {
   //1.0获取现在时间的年月日:
   var currentTime = new Date("2016-01-02"); //得到当前的时间
   var currentYear = currentTime.getFullYear(); //得到当前的年份
   var currentMoon = currentTime.getMonth() + 1; //得到当前的月份(系统默认为0-11,所以要加1才算是当前的月份)
   var currentDay = currentTime.getDate(); //得到当前的天数

   //2.0获取当前时间的一个月内的年月日:(一个月内的大众业务需求为:当前时间的月份-1,当前时间的天数+1)
   var agoDay = "";
   var agoMoon = currentMoon;
   var agoYear = currentYear;
   var max = "";
   switch (type) {
    case 30:
     agoDay = currentDay + 1;
     agoMoon = currentMoon - 1;
     max = new Date(agoYear, agoMoon, 0).getDate(); //获取上个月的总天数
     break;
    case 7:
     agoDay = currentDay - 6;
     if (agoDay < 0) {
      agoMoon = currentMoon - 1;//月份减1
      max = new Date(agoYear, agoMoon, 0).getDate(); //获取上个月的总天数
      agoDay = max + agoDay;//天数在上个月的总天数的基础上减去负数
     }
     break;
   }

   //3.0对处理的年月日作逻辑判断


   //如果beginDay > max(如果是当前时间的天数+1后的数值超过了上个月的总天数: 天数变为1,月份增加1)
   if (agoDay > max) {
    agoDay = 1;
    agoMoon += 1;
   }

   //如果月份当月为1月的时候, 那么一个月内: 年:-1 月:12 日:依然不变 
   if (agoMoon == 0) {
    agoMoon = 12;
    agoYear = currentYear - 1;
   }

   //4.0对已经处理好的数据作格式处理(单位数则自动补零)
   currentMoon = Appendzero(currentMoon);
   currentDay = Appendzero(currentDay);
   agoMoon = Appendzero(agoMoon);
   agoDay = Appendzero(agoDay);

   //5.0帮助代码
   console.log("当前时间为:{0}-{1}-{2}".format(currentYear, currentMoon, currentDay));
   console.log("一个月前的时间为{0}-{1}-{2}".format(agoYear, agoMoon, agoDay));

   return { "Year": agoYear, "Moon": agoMoon, "Day": agoDay };
  }

  //处理各位数为零的数字(单位数则加0)
  function Appendzero(obj) {
   if (obj < 10) {
    return "0" + obj;
   } else { 
    return obj;
   }
  }

 </script>
</head>
<body>
 <input type="button" class="tbBtn" id="CbtnNull" style="background-color:#e3e3e3" value="不限"/>
 <input type="button" class="tbBtn" id="CbtnMoon" style="width: 80px; margin-left: 5px; margin-right: 5px;" value="一个月内"/>
 <input type="button" class="tbBtn" id="CbtnWeek" style="width: 80px; margin-left: 5px; margin-right: 5px;" value="一周内"/>
 <input id = "txtCallCycleBegin" type="text"/>
 <input id = "txtCallCyclecurrend" type="text"/>
</body>
</html>

以上就是本文的全部内容,希望能够帮助大家更好的解决javascript日期处理问题。

Javascript 相关文章推荐
JavaScript脚本性能的优化方法
Feb 02 Javascript
Javascript中的Split使用方法与技巧
Mar 09 Javascript
深入剖析JavaScript编程中的对象概念
Oct 21 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
Jan 20 Javascript
jQuery拖拽排序插件制作拖拽排序效果(附源码下载)
Feb 23 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
Sep 27 Javascript
vue.js项目打包上线的图文教程
Nov 16 Javascript
React Form组件的实现封装杂谈
May 07 Javascript
20多个小事例带你重温ES10新特性(小结)
Sep 29 Javascript
vue中利用iscroll.js解决pc端滚动问题
Feb 15 Javascript
vue实现简单加法计算器
Oct 22 Javascript
vue.js封装switch开关组件的操作
Oct 26 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
Feb 03 #Javascript
AngularJS向后端ASP.NET API控制器上传文件
Feb 03 #Javascript
javascript DIV实现跟随鼠标移动
Mar 19 #Javascript
javascript鼠标右键菜单自定义效果
Dec 08 #Javascript
JavaScript获取当前运行脚本文件所在目录的方法
Feb 03 #Javascript
JavaScript获取对象在页面中位置坐标的方法
Feb 03 #Javascript
基于jQuery实现select下拉选择可输入附源码下载
Feb 03 #Javascript
You might like
php操作JSON格式数据的实现代码
2011/12/24 PHP
php+iframe实现隐藏无刷新上传文件
2012/02/10 PHP
php随机显示图片的简单示例
2014/02/15 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
laravel框架之数据库查出来的对象实现转化为数组
2019/10/23 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
JS实现将人民币金额转换为大写的示例代码
2014/02/13 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
jQuery中click事件的定义和用法
2014/12/20 Javascript
IE10中flexigrid无法显示数据的解决方法
2015/07/26 Javascript
JS给Array添加是否包含字符串的简单方法
2016/10/29 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
Python操作列表之List.insert()方法的使用
2015/05/20 Python
windows下Python安装、使用教程和Notepad++的使用教程
2019/10/06 Python
Python使用configparser库读取配置文件
2020/02/22 Python
Pygame的程序开始示例代码
2020/05/07 Python
丝芙兰美国官网:SEPHORA美国
2016/08/03 全球购物
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
如何删除一个表里面的重复行
2013/07/13 面试题
物业管理大学生个人的自我评价
2013/10/10 职场文书
会展策划与管理专业大学生职业生涯规划
2014/02/07 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
党员先锋岗事迹材料
2014/05/08 职场文书
英语教育专业毕业生求职信
2014/08/28 职场文书
公司委托书格式范本
2014/09/16 职场文书
小学师德师风整改措施
2014/10/27 职场文书
2015年行政助理工作总结
2015/04/30 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
会议主持词开场白
2015/05/28 职场文书
房贷工资证明范本
2015/06/12 职场文书
2016年国培研修日志
2015/11/13 职场文书
领导干部学习心得体会
2016/01/23 职场文书
2016优秀青年志愿者事迹材料
2016/02/25 职场文书
Mysql - 常用函数 每天积极向上
2021/04/05 MySQL