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 相关文章推荐
简单的前端js+ajax 购物车框架(入门篇)
Oct 29 Javascript
jQuery对象和Javascript对象之间转换的实例代码
Mar 20 Javascript
JS动态添加与删除select中的Option对象(示例代码)
Dec 25 Javascript
在Javascript中处理字符串之big()方法的使用
Jun 08 Javascript
图解JavaScript中的this关键字
May 28 Javascript
javascript 面向对象function详解及实例代码
Feb 28 Javascript
Angular 4依赖注入学习教程之FactoryProvider配置依赖对象(五)
Jun 04 Javascript
关于vue.js v-bind 的一些理解和思考
Jun 06 Javascript
JavaScript中七种流行的开源机器学习框架
Oct 11 Javascript
JavaScript模块管理的简单实现方式详解
Jun 15 Javascript
uni-app 支持多端第三方地图定位的方法
Jan 03 Javascript
bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码
May 19 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 中文字符入库或显示乱码问题的解决方法
2010/04/12 PHP
php HTML无刷新提交表单
2016/04/05 PHP
js 获取服务器控件值的代码
2010/03/05 Javascript
js中Math之random,round,ceil,floor的用法总结
2013/12/26 Javascript
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
bootstrap data与jquery .data
2014/07/07 Javascript
Node.js的Koa框架上手及MySQL操作指南
2016/06/13 Javascript
javascript对浅拷贝和深拷贝的详解
2016/10/14 Javascript
JavaScript重定向URL参数的两种方法小结
2016/10/19 Javascript
laydate日历控件使用方法详解
2017/11/20 Javascript
使用Vue制作图片轮播组件思路详解
2018/03/21 Javascript
JS文件中加载jquery.js的实例代码
2018/05/05 jQuery
深入理解js 中async 函数的含义和用法
2018/05/13 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
Postman的下载及安装教程详解
2018/10/16 Javascript
ES6 如何改变JS内置行为的代理与反射
2019/02/11 Javascript
js+canvas实现五子棋小游戏
2020/08/02 Javascript
详解JavaScript中的数据类型,以及检测数据类型的方法
2020/09/17 Javascript
详解Python中heapq模块的用法
2016/06/28 Python
python多进程并行代码实例
2019/09/30 Python
CSS3 绘制BMW logo实的现代码
2013/04/25 HTML / CSS
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
2016/03/14 HTML / CSS
ivx平台开发之不用代码实现一个九宫格抽奖功能
2021/01/27 HTML / CSS
墨尔本复古时尚品牌:Dangerfield
2018/12/12 全球购物
自动化专业个人求职信范文
2013/11/29 职场文书
医校毕业生自我鉴定
2014/01/25 职场文书
周年庆促销方案
2014/03/15 职场文书
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书
2014年机关党委工作总结
2014/12/11 职场文书
赔偿协议书
2015/01/27 职场文书
不服劳动仲裁起诉书
2015/05/20 职场文书
信仰纪录片观后感
2015/06/08 职场文书
初一语文教学反思
2016/03/03 职场文书
Python中的tkinter库简单案例详解
2022/01/22 Python
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript