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 个人笔记(没有整理,很乱)
Jul 07 Javascript
js弹出层包含flash 不能关闭隐藏的2种处理方法
Jun 17 Javascript
如何减少浏览器的reflow和repaint
Feb 26 Javascript
JavaScript原生对象之Date对象的属性和方法详解
Mar 13 Javascript
JavaScript 动态加载脚本和样式的方法
Apr 13 Javascript
Boostrap模态窗口的学习小结
Mar 28 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
May 31 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
Sep 07 Javascript
js实现各浏览器全屏代码实例
Jul 03 Javascript
解决Layui 表格自适应高度的问题
Nov 15 Javascript
JavaScript 实现轮播图特效的示例
Nov 05 Javascript
vue 数据双向绑定的实现方法
Mar 04 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开发微信支付的流程
2015/10/04 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
2016/10/17 PHP
php 利用socket发送GET,POST请求的实例代码
2020/07/04 PHP
文字不间断滚动(上下左右)实例代码
2013/04/21 Javascript
javascript中如何处理引号编码&amp;#034;
2013/08/15 Javascript
浏览器兼容console对象的简要解决方案分享
2013/10/24 Javascript
IE浏览器中图片onload事件无效的解决方法
2014/04/29 Javascript
js使用post 方式打开新窗口
2015/02/26 Javascript
实现placeholder效果的方案汇总
2015/06/11 Javascript
vue分页组件table-pagebar使用实例解析
2020/11/15 Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/27 Javascript
js 只比较时间大小的实例
2017/10/26 Javascript
AngularJS2 与 D3.js集成实现自定义可视化的方法
2017/12/01 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
OpenLayer学习之自定义测量控件
2020/09/28 Javascript
Python 文件重命名工具代码
2009/07/26 Python
利用python程序生成word和PDF文档的方法
2017/02/14 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
2017/05/08 Python
基于python requests库中的代理实例讲解
2018/05/07 Python
pytorch使用指定GPU训练的实例
2019/08/19 Python
基于Tensorflow:CPU性能分析
2020/02/10 Python
详解Python中list[::-1]的几种用法
2020/11/16 Python
室内设计专业个人的自我评价
2013/10/19 职场文书
家居饰品店创业计划书
2014/01/31 职场文书
适用于所有创业者的创业计划书
2014/02/05 职场文书
优良学风班总结材料
2014/02/08 职场文书
2014国培学习感言
2014/03/05 职场文书
投标保密承诺书
2014/05/19 职场文书
小学语文教研活动总结
2014/07/01 职场文书
2015年教师节演讲稿范文
2015/03/19 职场文书
2016年社区植树节活动总结
2016/03/16 职场文书
MySQL官方导出工具mysqlpump的使用
2021/05/21 MySQL
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫
零基础学java之带返回值的方法的定义和调用
2022/04/10 Java/Android
Windows server 2022创建创建林、域树、子域的步骤
2022/06/25 Servers
CSS中calc(100%-100px)不加空格不生效
2023/05/07 HTML / CSS