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 相关文章推荐
Flash对联广告的关闭按钮讨论
Jan 30 Javascript
JS的参数传递示例介绍
Feb 08 Javascript
jquery日历控件实现方法分享
Mar 07 Javascript
iframe窗口高度自适应的又一个巧妙实现思路
Apr 04 Javascript
jquery预加载图片的方法
May 27 Javascript
jQuery满屏焦点图左右滚动特效代码分享
Sep 07 Javascript
AngularJS基础 ng-href 指令用法
Aug 01 Javascript
分享vue里swiper的一些坑
Aug 30 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
Jul 11 jQuery
vue组件传值的实现方式小结【三种方式】
Feb 05 Javascript
vue 获取url参数、get参数返回数组的操作
Nov 12 Javascript
vue如何实现关闭对话框后刷新列表
Apr 08 Vue.js
原生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 session有效期问题
2009/04/26 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
2017/09/30 PHP
JavaScript 格式字符串的应用
2010/03/29 Javascript
根据选择不同的下拉值出现相对应的文本输入框
2013/08/01 Javascript
判断及设置浏览器全屏模式
2014/04/20 Javascript
Node.js开源应用框架HapiJS介绍
2015/01/14 Javascript
jQuery实现浮动层随浏览器滚动条滚动的方法
2015/09/22 Javascript
ThinkJS中如何使用MongoDB的CURD操作
2016/12/13 Javascript
利用transition实现文字上下抖动的效果
2017/01/21 Javascript
移动端使用localResizeIMG4压缩图片
2017/04/22 Javascript
javascript获取图片的top N主色值方法详解
2018/01/26 Javascript
详解mpvue开发小程序小总结
2018/07/25 Javascript
JavaScript设计模式之原型模式分析【ES5与ES6】
2018/07/26 Javascript
vue根据值给予不同class的实例
2018/09/29 Javascript
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
2020/07/24 Javascript
[01:03:00]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第一局
2016/02/25 DOTA
python实现八大排序算法(1)
2017/09/14 Python
Python爬取附近餐馆信息代码示例
2017/12/09 Python
Django框架教程之正则表达式URL误区详解
2018/01/28 Python
Python笔记之工厂模式
2019/11/20 Python
Python+Opencv身份证号码区域提取及识别实现
2020/08/25 Python
Python3获取cookie常用三种方案
2020/10/05 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
马来西亚在线药房:RoyalePharma
2019/12/01 全球购物
俄罗斯园林植物网上商店:Garshinka
2020/07/16 全球购物
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
公证书标准格式
2014/04/10 职场文书
党委班子剖析材料
2014/08/21 职场文书
实习推荐信格式模板
2015/03/27 职场文书
高老头读书笔记
2015/06/30 职场文书
课文《燕子》教学反思
2016/02/17 职场文书
先进基层党组织事迹材料2016
2016/02/29 职场文书
Pytorch中使用ImageFolder读取数据集时忽略特定文件
2022/03/23 Python