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为对象原型prototype添加属性的两种方式
Aug 01 Javascript
利用json获取字符出现次数的代码
Mar 22 Javascript
javascript实现playfair和hill密码算法
Dec 07 Javascript
JavaScript截断字符串的方法
Jul 15 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
Nov 07 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
Nov 16 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
Aug 11 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
Oct 26 Javascript
JS用最简单的方法实现四舍五入
Aug 27 Javascript
vue element自定义表单验证请求后端接口验证
Dec 11 Javascript
小程序使用wxs解决wxml保留2位小数问题
Dec 13 Javascript
微信小程序获取当前时间及星期几的实例代码
Sep 20 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
C# Assembly类访问程序集信息
2009/06/13 PHP
浅析php中如何在有限的内存中读取大文件
2013/07/02 PHP
使用PHP Socket写的POP3类
2013/10/30 PHP
php判断手机访问还是电脑访问示例分享
2014/01/20 PHP
使用配置类定义Codeigniter全局变量
2014/06/12 PHP
php中执行系统命令的方法
2015/03/21 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
2016/01/07 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
2016/03/07 PHP
PHP 文件写入和读取操作实例详解【必看篇】
2019/11/04 PHP
PHP利用curl发送HTTP请求的实例代码
2020/07/09 PHP
基于PHP+mysql实现新闻发布系统的开发
2020/08/06 PHP
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
jQuery UI Bootstrap是什么?
2016/06/17 Javascript
javascript实现文字无缝滚动
2016/12/27 Javascript
three.js绘制地球、飞机与轨迹的效果示例
2017/02/28 Javascript
jQuery中.attr()和.data()的区别分析
2017/09/03 jQuery
Vue结合SignalR实现前后端实时消息同步
2017/09/19 Javascript
详解vue-cli脚手架中webpack配置方法
2018/08/22 Javascript
vue生命周期与钩子函数简单示例
2019/03/13 Javascript
vue2配置scss的方法步骤
2019/06/06 Javascript
layer的prompt弹出框,点击回车,触发确定事件的方法
2019/09/06 Javascript
如何在Vue中抽离接口配置文件
2019/10/31 Javascript
js实现简单选项卡制作
2020/08/05 Javascript
[48:00]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第二场 11.04
2020/11/04 DOTA
使用Python求解最大公约数的实现方法
2015/08/20 Python
PyQT实现多窗口切换
2018/04/20 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
2019/07/08 Python
Python通过递归获取目录下指定文件代码实例
2019/11/07 Python
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
Bugatchi官方网站:男士服装在线
2019/04/10 全球购物
Quiksilver荷兰官方网站:冲浪和滑雪板
2019/11/16 全球购物
环境科学专业研究生求职信
2013/10/02 职场文书
向国旗敬礼活动总结
2014/09/27 职场文书
国王的演讲观后感
2015/06/03 职场文书
Python Pandas 删除列操作
2022/03/16 Python
Linux磁盘管理方法介绍
2022/06/01 Servers